diff --git a/src/geom/GNUmakefile b/src/geom/GNUmakefile index 35c7d463d7..7f68767ab9 100644 --- a/src/geom/GNUmakefile +++ b/src/geom/GNUmakefile @@ -8,7 +8,7 @@ OBJ = geom.o geom_input.o geom_input2.o geom_3d.o geom_2d.o geom_1d.o geom_numcore.o \ geom_checksum.o geom_print_ecce.o geom_freeze.o geom_fragment.o geom_getsym.o - HEADERS = geom.fh geomP.fh + HEADERS = geom.fh geomP.fh periodic.fh USES_BLAS = geom.F geom_input.F geom_print_ecce.F geom_hnd.F geom_3d.F geom_getsym.F geom_2d.F UNSET_OPENMP = 1 diff --git a/src/geom/geom.F b/src/geom/geom.F index 8062854202..74669ef082 100644 --- a/src/geom/geom.F +++ b/src/geom/geom.F @@ -1056,6 +1056,7 @@ C> If storing the geometry was successful return .true., return .false. otherwis implicit none #include "nwc_const.fh" #include "geomP.fh" +#include "periodic.fh" #include "rtdb.fh" #include "mafdecls.fh" #include "util.fh" @@ -3331,8 +3332,7 @@ c #include "inp.fh" #include "nwc_const.fh" #include "geomP.fh" - character*2 symbols(nelements) - character*16 elements(nelements) +#include "periodic.fh" character*16 tag !< [Input] the tag, e.g. He232 character*(*) symbol !< [Output] the chemical symbol, e.g. He character*(*) element !< [Output] the element, e.g. Helium @@ -3343,48 +3343,6 @@ c and return the symbol, name and atomic no. c integer lbuf, ind character*16 buf - character*1 sym1(14) ! 1 character atomic symbols+atomic no.s - integer atn1(14) - data symbols/ - $ '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', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', - $ 'Sb', 'Te', 'I ', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', - $ 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', - $ 'Lu', 'Hf', 'Ta', 'W ', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', - $ 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', - $ 'Pa', 'U ', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', - $ 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', - $ 'Rg', 'Cn'/ - data elements/ - $ 'Hydrogen', 'Helium', 'Lithium', 'Beryllium', 'Boron', - $ 'Carbon', 'Nitrogen', 'Oxygen', 'Fluorine', 'Neon', 'Sodium', - $ 'Magnesium', 'Aluminium', 'Silicon', 'Phosphorous', - $ 'Sulphur', 'Chlorine', 'Argon', 'Potassium', 'Calcium', - $ 'Scandium', 'Titanium', 'Vanadium', 'Chromium', 'Manganese', - $ 'Iron', 'Cobalt', 'Nickel', 'Copper', 'Zinc', 'Gallium', - $ 'Germanium', 'Arsenic', 'Selenium', 'Bromine', 'Krypton', - $ 'Rubidium', 'Strontium', 'Yttrium', 'Zirconium', 'Niobium', - $ 'Molybdenum', 'Technetium', 'Ruthenium', 'Rhodium', - $ 'Palladium', 'Silver', 'Cadmium', 'Indium', 'Tin', - $ 'Antinomy', 'Tellurium', 'Iodine', 'Xenon', 'Caesium', - $ 'Barium', 'Lanthanum', 'Cerium', 'Praseodymium', 'Neodymium', - $ 'Promethium', 'Samarium', 'Europium', 'Gadolinium', - $ 'Terbium', 'Dysprosium', 'Holmium', 'Erbium', 'Thulium', - $ 'Ytterbium', 'Lutetium', 'Hafnium', 'Tantalum', 'Tungsten', - $ 'Rhenium', 'Osmium', 'Iridium', 'Platinum', 'Gold', - $ 'Mercury', 'Thallium', 'Lead', 'Bismuth', 'Polonium', - $ 'Astatine', 'Radon', 'Francium', 'Radium', 'Actinium', - $ 'Thorium', 'Protoactinium', 'Uranium', 'Neptunium', - $ 'Plutonium', 'Americium', 'Curium', 'Berkelium', - $ 'Californium', 'Einsteinium', 'Fermium', 'Mendelevium', - $ 'Nobelium', 'Lawrencium','Rutherfordium','Dubnium', - $ 'Seaborgium','Bohrium','Hassium','Meitnerium', - $ 'Darmstadtium', 'Roentgenium', 'Copernicium'/ - data sym1/'H','B','C','N','O','F','P','S','K','V','Y','I','W','U'/ - data atn1/ 1 , 5 , 6 , 7 , 8 , 9 , 15, 16, 19, 23, 39, 53, 74, 92/ geom_tag_to_element = .false. c @@ -3466,13 +3424,12 @@ c #include "inp.fh" #include "nwc_const.fh" #include "geomP.fh" +#include "periodic.fh" logical geom_tag_to_charge_gen integer nt integer ns integer i logical match - character*2 symbols(nelements) - character*16 elements(nelements) character*1 tag(nt*ns) ! [input] double precision q(nt) ! [output] c @@ -3482,48 +3439,6 @@ c integer j,offset integer lbuf, ind character*16 buf - character*1 sym1(14) ! 1 character atomic symbols+atomic no.s - integer atn1(14) - data symbols/ - $ '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', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', - $ 'Sb', 'Te', 'I ', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', - $ 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', - $ 'Lu', 'Hf', 'Ta', 'W ', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', - $ 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', - $ 'Pa', 'U ', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', - $ 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', - $ 'Rg', 'Cn'/ - data elements/ - $ 'Hydrogen', 'Helium', 'Lithium', 'Beryllium', 'Boron', - $ 'Carbon', 'Nitrogen', 'Oxygen', 'Fluorine', 'Neon', 'Sodium', - $ 'Magnesium', 'Aluminium', 'Silicon', 'Phosphorous', - $ 'Sulphur', 'Chlorine', 'Argon', 'Potassium', 'Calcium', - $ 'Scandium', 'Titanium', 'Vanadium', 'Chromium', 'Manganese', - $ 'Iron', 'Cobalt', 'Nickel', 'Copper', 'Zinc', 'Gallium', - $ 'Germanium', 'Arsenic', 'Selenium', 'Bromine', 'Krypton', - $ 'Rubidium', 'Strontium', 'Yttrium', 'Zirconium', 'Niobium', - $ 'Molybdenum', 'Technetium', 'Ruthenium', 'Rhodium', - $ 'Palladium', 'Silver', 'Cadmium', 'Indium', 'Tin', - $ 'Antinomy', 'Tellurium', 'Iodine', 'Xenon', 'Caesium', - $ 'Barium', 'Lanthanum', 'Cerium', 'Praseodymium', 'Neodymium', - $ 'Promethium', 'Samarium', 'Europium', 'Gadolinium', - $ 'Terbium', 'Dysprosium', 'Holmium', 'Erbium', 'Thulium', - $ 'Ytterbium', 'Lutetium', 'Hafnium', 'Tantalum', 'Tungsten', - $ 'Rhenium', 'Osmium', 'Iridium', 'Platinum', 'Gold', - $ 'Mercury', 'Thallium', 'Lead', 'Bismuth', 'Polonium', - $ 'Astatine', 'Radon', 'Francium', 'Radium', 'Actinium', - $ 'Thorium', 'Protoactinium', 'Uranium', 'Neptunium', - $ 'Plutonium', 'Americium', 'Curium', 'Berkelium', - $ 'Californium', 'Einsteinium', 'Fermium', 'Mendelevium', - $ 'Nobelium', 'Lawrencium','Rutherfordium','Dubnium', - $ 'Seaborgium','Bohrium','Hassium','Meitnerium', - $ 'Darmstadtium', 'Roentgenium', 'Copernicium'/ - data sym1/'H','B','C','N','O','F','P','S','K','V','Y','I','W','U'/ - data atn1/ 1 , 5 , 6 , 7 , 8 , 9 , 15, 16, 19, 23, 39, 53, 74, 92/ geom_tag_to_charge_gen = .false. c @@ -3606,12 +3521,11 @@ c #include "inp.fh" #include "nwc_const.fh" #include "geomP.fh" +#include "periodic.fh" logical geom_tag_to_charge integer nt integer i logical match - character*2 symbols(nelements) - character*16 elements(nelements) character*16 tag(nt) ! [input] double precision q(nt) ! [output] c @@ -3620,48 +3534,6 @@ c and return the symbol, name and atomic no. c integer lbuf, ind character*16 buf - character*1 sym1(14) ! 1 character atomic symbols+atomic no.s - integer atn1(14) - data symbols/ - $ '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', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', - $ 'Sb', 'Te', 'I ', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', - $ 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', - $ 'Lu', 'Hf', 'Ta', 'W ', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', - $ 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', - $ 'Pa', 'U ', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', - $ 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', - $ 'Rg', 'Cn'/ - data elements/ - $ 'Hydrogen', 'Helium', 'Lithium', 'Beryllium', 'Boron', - $ 'Carbon', 'Nitrogen', 'Oxygen', 'Fluorine', 'Neon', 'Sodium', - $ 'Magnesium', 'Aluminium', 'Silicon', 'Phosphorous', - $ 'Sulphur', 'Chlorine', 'Argon', 'Potassium', 'Calcium', - $ 'Scandium', 'Titanium', 'Vanadium', 'Chromium', 'Manganese', - $ 'Iron', 'Cobalt', 'Nickel', 'Copper', 'Zinc', 'Gallium', - $ 'Germanium', 'Arsenic', 'Selenium', 'Bromine', 'Krypton', - $ 'Rubidium', 'Strontium', 'Yttrium', 'Zirconium', 'Niobium', - $ 'Molybdenum', 'Technetium', 'Ruthenium', 'Rhodium', - $ 'Palladium', 'Silver', 'Cadmium', 'Indium', 'Tin', - $ 'Antinomy', 'Tellurium', 'Iodine', 'Xenon', 'Caesium', - $ 'Barium', 'Lanthanum', 'Cerium', 'Praseodymium', 'Neodymium', - $ 'Promethium', 'Samarium', 'Europium', 'Gadolinium', - $ 'Terbium', 'Dysprosium', 'Holmium', 'Erbium', 'Thulium', - $ 'Ytterbium', 'Lutetium', 'Hafnium', 'Tantalum', 'Tungsten', - $ 'Rhenium', 'Osmium', 'Iridium', 'Platinum', 'Gold', - $ 'Mercury', 'Thallium', 'Lead', 'Bismuth', 'Polonium', - $ 'Astatine', 'Radon', 'Francium', 'Radium', 'Actinium', - $ 'Thorium', 'Protoactinium', 'Uranium', 'Neptunium', - $ 'Plutonium', 'Americium', 'Curium', 'Berkelium', - $ 'Californium', 'Einsteinium', 'Fermium', 'Mendelevium', - $ 'Nobelium', 'Lawrencium','Rutherfordium','Dubnium', - $ 'Seaborgium','Bohrium','Hassium','Meitnerium', - $ 'Darmstadtium', 'Roentgenium', 'Copernicium'/ - data sym1/'H','B','C','N','O','F','P','S','K','V','Y','I','W','U'/ - data atn1/ 1 , 5 , 6 , 7 , 8 , 9 , 15, 16, 19, 23, 39, 53, 74, 92/ geom_tag_to_charge = .false. c @@ -3731,12 +3603,11 @@ c #include "inp.fh" #include "nwc_const.fh" #include "geomP.fh" +#include "periodic.fh" logical geom_tag_to_atn integer nt integer i logical match - character*2 symbols(nelements) - character*16 elements(nelements) c TP: changed from character*(*) tag(nt) to character*(16) tag(nt) character*(16) tag(nt) ! [input] integer atn(nt) ! [output] @@ -3746,48 +3617,6 @@ c and return the symbol, name and atomic no. c integer lbuf, ind character*16 buf - character*1 sym1(14) ! 1 character atomic symbols+atomic no.s - integer atn1(14) - data symbols/ - $ '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', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', - $ 'Sb', 'Te', 'I ', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', - $ 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', - $ 'Lu', 'Hf', 'Ta', 'W ', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', - $ 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', - $ 'Pa', 'U ', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', - $ 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', - $ 'Rg', 'Cn'/ - data elements/ - $ 'Hydrogen', 'Helium', 'Lithium', 'Beryllium', 'Boron', - $ 'Carbon', 'Nitrogen', 'Oxygen', 'Fluorine', 'Neon', 'Sodium', - $ 'Magnesium', 'Aluminium', 'Silicon', 'Phosphorous', - $ 'Sulphur', 'Chlorine', 'Argon', 'Potassium', 'Calcium', - $ 'Scandium', 'Titanium', 'Vanadium', 'Chromium', 'Manganese', - $ 'Iron', 'Cobalt', 'Nickel', 'Copper', 'Zinc', 'Gallium', - $ 'Germanium', 'Arsenic', 'Selenium', 'Bromine', 'Krypton', - $ 'Rubidium', 'Strontium', 'Yttrium', 'Zirconium', 'Niobium', - $ 'Molybdenum', 'Technetium', 'Ruthenium', 'Rhodium', - $ 'Palladium', 'Silver', 'Cadmium', 'Indium', 'Tin', - $ 'Antinomy', 'Tellurium', 'Iodine', 'Xenon', 'Caesium', - $ 'Barium', 'Lanthanum', 'Cerium', 'Praseodymium', 'Neodymium', - $ 'Promethium', 'Samarium', 'Europium', 'Gadolinium', - $ 'Terbium', 'Dysprosium', 'Holmium', 'Erbium', 'Thulium', - $ 'Ytterbium', 'Lutetium', 'Hafnium', 'Tantalum', 'Tungsten', - $ 'Rhenium', 'Osmium', 'Iridium', 'Platinum', 'Gold', - $ 'Mercury', 'Thallium', 'Lead', 'Bismuth', 'Polonium', - $ 'Astatine', 'Radon', 'Francium', 'Radium', 'Actinium', - $ 'Thorium', 'Protoactinium', 'Uranium', 'Neptunium', - $ 'Plutonium', 'Americium', 'Curium', 'Berkelium', - $ 'Californium', 'Einsteinium', 'Fermium', 'Mendelevium', - $ 'Nobelium', 'Lawrencium','Rutherfordium','Dubnium', - $ 'Seaborgium','Bohrium','Hassium','Meitnerium', - $ 'Darmstadtium', 'Roentgenium', 'Copernicium'/ - data sym1/'H','B','C','N','O','F','P','S','K','V','Y','I','W','U'/ - data atn1/ 1 , 5 , 6 , 7 , 8 , 9 , 15, 16, 19, 23, 39, 53, 74, 92/ geom_tag_to_atn = .false. c @@ -4855,6 +4684,7 @@ c #include "errquit.fh" #include "nwc_const.fh" #include "geomP.fh" +#include "periodic.fh" c integer atn !< [Input] the atomic number of element double precision mass !< [Output] the default elemental atomic mass. @@ -7293,6 +7123,7 @@ c Written by: R. A. Kendall, PNNL, December 1996 c #include "stdio.fh" #include "nwc_const.fh" +#include "periodic.fh" #include "geomP.fh" integer atn ! [input] atomic number of element double precision rcoval ! [output] estimate of covalent diff --git a/src/geom/geomP.fh b/src/geom/geomP.fh index d87ecd2d95..2bda7cf631 100644 --- a/src/geom/geomP.fh +++ b/src/geom/geomP.fh @@ -9,7 +9,6 @@ c c max_geom = maximum no. of geometries c max_cent = maximum no. of centers in a geometry c max_geom_rtdb = maximum no. of geometries stored in the rtdb -c nelments = no. of elements that info is stored about c c [The only thing that cannot be dynamically allocated are the c character variables for the tags ... I was lazy and just statically @@ -108,18 +107,15 @@ c zmt_source(1:max_geom) = source of zmatrix (user or autoz) c lenn(1:max_geom) = length of names(geom) minus trailing blanks c lent(1:max_geom) = length of trans(geom) ... c lenr(1:max_geom_rtdb) = length of names_rtdb(geom) ... -c symbols(1:nelements) = symbols for elements -c elements(1:nelements) = names of elements c - integer max_geom, max_cent, max_geom_rtdb, nelements, + integer max_geom, max_cent, max_geom_rtdb, $ max_sym_ops integer max_izmat, max_nzvar, max_zcoord c parameter (max_sym_ops = 192) parameter (max_geom = nw_max_geoms) parameter (max_geom_rtdb = 500) - parameter (nelements = 112) parameter (max_cent = nw_max_atom) parameter (max_nzvar = 6*max_cent) parameter (max_izmat = 4*max_nzvar) @@ -248,4 +244,3 @@ c common/usgeometry/ $ use_primitive(max_geom), $ primitive_center(max_geom) - diff --git a/src/geom/geom_numcore.F b/src/geom/geom_numcore.F index 0067a35cbb..e7aad44a65 100644 --- a/src/geom/geom_numcore.F +++ b/src/geom/geom_numcore.F @@ -42,6 +42,7 @@ c you have left any sense of physics well behind anyway... C C INCLUDE FILES #include "nwc_const.fh" +#include "periodic.fh" #include "geomP.fh" #include "rtdb.fh" #include "mafdecls.fh" @@ -86,7 +87,7 @@ C $ 18* 9, ! K-Kr, +3s3p $ 18*18, ! Rb-Xe, +4s3d4p $ 32*27, ! Cs-Rn, +5s4d5p - $ 26*43/ ! Fr-Mt, +6s4f5d6p + $ 32*43/ ! Fr-Og, +6s4f5d6p C diff --git a/src/geom/periodic.fh b/src/geom/periodic.fh new file mode 100644 index 0000000000..8b6439d085 --- /dev/null +++ b/src/geom/periodic.fh @@ -0,0 +1,55 @@ + integer atn1(14) +C they are ordered like this due to common block alignment rules + integer nelements + parameter (nelements = 118) + character*2 symbols(nelements) + character*16 elements(nelements) + character*1 sym1(14) ! 1 character atomic symbols+atomic no.s +cold common/celements/ +cold $ atn1(14), +cold $ symbols(nelements),sym1(14), +cold $ elements(nelements) + data atn1/ + $ 1 , 5 , 6 , 7 , 8 , 9 , 15, 16, 19, 23, 39, 53, 74, 92/ + data sym1/ + $ 'H','B','C','N','O','F','P','S','K','V','Y','I','W','U'/ + data symbols/ + $ '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', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', + $ 'Sb', 'Te', 'I ', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', + $ 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', + $ 'Lu', 'Hf', 'Ta', 'W ', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', + $ 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', + $ 'Pa', 'U ', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', + $ 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', + $ 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og'/ + data elements/ + $ 'Hydrogen', 'Helium', 'Lithium', 'Beryllium', 'Boron', + $ 'Carbon', 'Nitrogen', 'Oxygen', 'Fluorine', 'Neon', 'Sodium', + $ 'Magnesium', 'Aluminium', 'Silicon', 'Phosphorous', + $ 'Sulphur', 'Chlorine', 'Argon', 'Potassium', 'Calcium', + $ 'Scandium', 'Titanium', 'Vanadium', 'Chromium', 'Manganese', + $ 'Iron', 'Cobalt', 'Nickel', 'Copper', 'Zinc', 'Gallium', + $ 'Germanium', 'Arsenic', 'Selenium', 'Bromine', 'Krypton', + $ 'Rubidium', 'Strontium', 'Yttrium', 'Zirconium', 'Niobium', + $ 'Molybdenum', 'Technetium', 'Ruthenium', 'Rhodium', + $ 'Palladium', 'Silver', 'Cadmium', 'Indium', 'Tin', + $ 'Antinomy', 'Tellurium', 'Iodine', 'Xenon', 'Caesium', + $ 'Barium', 'Lanthanum', 'Cerium', 'Praseodymium', 'Neodymium', + $ 'Promethium', 'Samarium', 'Europium', 'Gadolinium', + $ 'Terbium', 'Dysprosium', 'Holmium', 'Erbium', 'Thulium', + $ 'Ytterbium', 'Lutetium', 'Hafnium', 'Tantalum', 'Tungsten', + $ 'Rhenium', 'Osmium', 'Iridium', 'Platinum', 'Gold', + $ 'Mercury', 'Thallium', 'Lead', 'Bismuth', 'Polonium', + $ 'Astatine', 'Radon', 'Francium', 'Radium', 'Actinium', + $ 'Thorium', 'Protoactinium', 'Uranium', 'Neptunium', + $ 'Plutonium', 'Americium', 'Curium', 'Berkelium', + $ 'Californium', 'Einsteinium', 'Fermium', 'Mendelevium', + $ 'Nobelium', 'Lawrencium','Rutherfordium','Dubnium', + $ 'Seaborgium','Bohrium','Hassium','Meitnerium', + $ 'Darmstadtium', 'Roentgenium', 'Copernicium', 'Nihonium', + $ 'Flerovium', 'Moscovium', 'Livermorium', 'Tennessine', + $ 'Oganesson'/ diff --git a/src/nwdft/grid/grid_acc_def.F b/src/nwdft/grid/grid_acc_def.F index 6dfd193d91..0fe4561661 100644 --- a/src/nwdft/grid/grid_acc_def.F +++ b/src/nwdft/grid/grid_acc_def.F @@ -51,7 +51,7 @@ c fine = 1d-7 c xfine = 1d-8 c huge = 1d-10 c - integer grid_params(6,2,2,105) + integer grid_params(6,2,2,120) integer i,j,k,l,iptr integer xc_leb_acc2nrd external xc_leb_acc2nrd @@ -275,6 +275,37 @@ c . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! Unq(104) & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18/! Unp(105) + data ((((grid_params(i,j,k,l),i=1,6),j=1,2),k=1,2),l=106,120)/ + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 106 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 107 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 108 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 109 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 110 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 111 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 112 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 113 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 114 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 115 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 116 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 117 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 118 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18,! 119 + & 105,130,155,205,235,400,16, 20, 32, 44, 48, 48, + . 84,104,123,141,205,400, 8, 11, 14, 17, 18, 18/! 120 c c Set print options. c diff --git a/src/optim/mepgs/geomP.fh b/src/optim/mepgs/geomP.fh deleted file mode 100644 index ac3b9d69e7..0000000000 --- a/src/optim/mepgs/geomP.fh +++ /dev/null @@ -1,236 +0,0 @@ -* -* $Id$ -* -c -c Private fortran include file for the geometry routines -c -c Parameters -c -c max_geom = maximum no. of geometries -c max_cent = maximum no. of centers in a geometry -c max_geom_rtdb = maximum no. of geometries stored in the rtdb -c nelments = no. of elements that info is stored about -c -c [The only thing that cannot be dynamically allocated are the -c character variables for the tags ... I was lazy and just statically -c dimensioned everything ... just drudge work to dynamically -c allocate though if necessary ... which it hopefully will not be -c ... since only geom.F (and maybe the basis routines) include -c this header file only these need to be recompiled if the parameters -c are changed] -c -c Members of /cgeometry/ -c -c ngeom_rtdb = current no. of geometries on the rtdb -c active(1:max_geom) = true if this geometry is open -c ncenter(1:max_geom) = no. of centers in this geometry -c coords(1:3,1:max_cent,1:max_geom) = cartesian coords of this geometry -c charge(1:max_cent,1:max_geom) = charges associated with centers -c geom_mass(1:max_cent,1:max_geom) = mass associated with centers -c geom_invnucexp(1:max_cent,1:max_geom) = inverse of nuclear exponent -c dipole ... not yet -c quadrupole ... not yet -c pseudopotential ... not yet -c efield(1:3,1:max_geom) = external electric field applied to this system -c oefield = true if efield is on -c angstrom_to_au = scale factor between angstom and atomic units -c include_bqbq(geom) = include bqbq interactions for this molecule -c -c--> symmetry information -c -c sym_sgpnames(1:230) = list of known space groups ... must match spgen -c sym_mgpnames(1:46) = list of known molecular groups ... ditto -c ncenter_unique(1:max_geom) = no. of symmetry unique centers -c unique_cent(1:max_cent,1:max_geom) = list of symmetry unique centers -c group_number(max_geom) = Tony magic group number -c setting_number(max_geom) = Where the symmetry origin is -c max_sym_ops = max. no. of operations in group -c sym_ops(max_sym_op*3,4) = matrix representation of symmetry operators -c molecules -> transformation of cartesians -c periodic -> ask tony! -c sym_op_inv(max_sym_op,max_geom) = index of inverse operation -c sym_num_ops(max_geom) = order of group minus one -c = no. of operations in the group -c sym_center_map_handle(max_geom) = MA handle of integer array -c sym_center_map(center,op)->op*center -c sym_center_map_index(max_geom) = MA index of integer array -c sym_center_map(center,op)->op*center -c -c group_name(max_geom) = symbolic name of the molecular group -c -c--> solid state specific information -c -c isystype(1:max_geom) = 0 (molecular), 1 (polymer), 2 (surface) -c 3 (crystal) -c lattice_vectors(1:3,1:max_geom) = lengths of unit cell axes (angstrom) -c lattice_angles(1:3,1:max_geom) = angles between unit cell axes (angstrom) -c -c amatrix(1:3,1:3,1:max_geom) = matrix that transforms atomic fractional -c coords. to a Cartesian system in bohr. This matrix -c is the unit matrix for molecular systems. -c -c bmatrix(1:3,1:3,1:max_geom) = matrix that transforms reciprocal lattice vectors -c to a Cartesian system (a.u.). This matrix -c is the unit matrix for molecular systems. -c -c amatrix_inv(1:3,1:3,1:max_geom) = used to transform from atomic Cartesian -c coords. to fractional coordinates & can be used -c to resolve the scalar lattice vectors into their -c Cartesian components. This matrix is the unit -c matrix for molecular systems. -c -c volume_direct(1:max_geom) = direct space unit cell volume units = Ang^3 -c metric_matrix(1:3,1:3,1:max_geom) = metric matrix for Bravais lattice -c recip_lat_vectors(1:3,1:max_geom) = reciprocal lattice vectors (angstroms) -c recip_lat_angles(1:3,1:max_geom) = reciprocal lattice angles (degrees) -c -c operiodic = obsolete -c latvec(1:3,1:3,1:max_geom) = obsolete -c -c erep(1:max_geom) = interaction energy of centers with each other -c and external fields. At its simplest this is -c just the nuclear repulsion energy -c ndipole(1:3,1:max_geom) = nuclear dipole moment -c -c Members of /ccgeometry/ -c -c names(1:max_geom) = names of open geometries -c trans(1:max_geom) = translations of names of open geoms -c names_rtdb(1:max_geom_rtdb) = names of geometries in the rtdb -c tag(1:max_cent,1:max_geom) = tags associated with centers -c zmt_source(1:max_geom) = source of zmatrix (user or autoz) -c lenn(1:max_geom) = length of names(geom) minus trailing blanks -c lent(1:max_geom) = length of trans(geom) ... -c lenr(1:max_geom_rtdb) = length of names_rtdb(geom) ... -c symbols(1:nelements) = symbols for elements -c elements(1:nelements) = names of elements -c - - integer max_geom, max_cent, max_geom_rtdb, nelements, - $ max_sym_ops - integer max_izmat, max_nzvar, max_zcoord -c - parameter (max_sym_ops = 192) - parameter (max_geom = nw_max_geoms) - parameter (max_geom_rtdb = 100) - parameter (nelements = 109) - parameter (max_cent = nw_max_atom) - parameter (max_nzvar = 6*max_cent) - parameter (max_izmat = 4*max_nzvar) - parameter (max_zcoord = 16) ! For augmenting autoz -c - logical active, operiodic, oefield, include_bqbq, oecpcent, - $ zmt_ijbond_frz, zmt_ijkang_frz, zmt_ijklto_frz, - $ zmt_ijklop_frz, zmt_ijklnb_frz - - integer ngeom_rtdb, ncenter, lenn, lent, lenr, group_number, - $ ncenter_unique, isystype, setting_number, unique_cent, - $ sym_op_inv, sym_num_ops, sym_center_map_handle, - $ sym_center_map_index, - $ zmt_izmat,zmt_nizmat, - $ zmt_izfrz,zmt_nzfrz, zmt_nzvar, zmt_maxtor, - $ zmt_ijbond, zmt_ijkang, zmt_ijklto, zmt_ijklop, zmt_ijklnb - - double precision coords, charge, efield, latvec, ndipole, erep, - $ lattice_vectors, lattice_angles, amatrix, amatrix_inv, - $ volume_direct, metric_matrix, recip_lat_vectors, - $ recip_lat_angles, sym_ops, angstrom_to_au, geom_invnucexp, - $ geom_mass,bmatrix, velocities, zmt_varsign, zmt_cvr_scaling, - $ zmt_ijbond_val, zmt_ijkang_val, zmt_ijklto_val, - $ zmt_ijklop_val, zmt_ijklnb_val, zmt_izfrz_val - - common/cgeometry/ -* doubles - $ coords(3,max_cent,max_geom), - $ velocities(3,max_cent,max_geom), - $ charge(max_cent,max_geom), - $ geom_mass(max_cent,max_geom), - $ geom_invnucexp(max_cent,max_geom), - $ efield(3, max_geom), - $ latvec(3,3, max_geom), ! Obsolete ? - $ erep(max_geom), - $ ndipole(3,max_geom), - $ lattice_vectors(1:3,1:max_geom), - $ lattice_angles(1:3,1:max_geom), - $ recip_lat_vectors(1:3,1:max_geom), - $ recip_lat_angles(1:3,1:max_geom), - $ amatrix(3,3,max_geom), - $ bmatrix(3,3,max_geom), - $ amatrix_inv(3,3,max_geom), - $ sym_ops(max_sym_ops*3,4,max_geom), - $ metric_matrix(3,3,max_geom), - $ volume_direct(max_geom), - $ angstrom_to_au, - $ zmt_varsign(max_nzvar,max_geom), - $ zmt_cvr_scaling(max_geom), - $ zmt_ijbond_val(max_zcoord,max_geom), - $ zmt_ijkang_val(max_zcoord,max_geom), - $ zmt_ijklto_val(max_zcoord,max_geom), - $ zmt_ijklop_val(max_zcoord,max_geom), - $ zmt_ijklnb_val(max_zcoord,max_geom), - $ zmt_izfrz_val(max_nzvar,max_geom), -* integers & logicals - $ ncenter(max_geom), - $ active(max_geom), - $ lenn(max_geom), - $ lent(max_geom), - $ lenr(max_geom_rtdb), - $ operiodic(max_geom), ! Obsolete ? - $ oefield(max_geom), - $ isystype(1:max_geom), - $ ncenter_unique(1:max_geom), - $ unique_cent(1:max_cent,1:max_geom), - $ group_number(max_geom), - $ setting_number(max_geom), - $ sym_op_inv(max_sym_ops,max_geom), - $ sym_num_ops(max_geom), - $ sym_center_map_handle(max_geom), - $ sym_center_map_index(max_geom), - $ include_bqbq(max_geom), - $ oecpcent(max_cent,max_geom), - $ ngeom_rtdb, - $ zmt_nizmat(max_geom), - $ zmt_nzfrz(max_geom), - $ zmt_nzvar(max_geom), - $ zmt_maxtor(max_geom), - $ zmt_izmat(max_izmat,max_geom), - $ zmt_izfrz(max_nzvar,max_geom), - $ zmt_ijbond(2,max_zcoord,max_geom), - $ zmt_ijkang(3,max_zcoord,max_geom), - $ zmt_ijklto(4,max_zcoord,max_geom), - $ zmt_ijklop(4,max_zcoord,max_geom), - $ zmt_ijklnb(4,max_zcoord,max_geom), - $ zmt_ijbond_frz(max_zcoord,max_geom), - $ zmt_ijkang_frz(max_zcoord,max_geom), - $ zmt_ijklto_frz(max_zcoord,max_geom), - $ zmt_ijklop_frz(max_zcoord,max_geom), - $ zmt_ijklnb_frz(max_zcoord,max_geom) -c - character*256 names, names_rtdb, trans - character*16 tags - character*10 group_name - character*10 user_units - character*10 sym_spgnames,sym_molgnames - character*8 zmt_varname, zmt_source, - $ zmt_ijbond_nam, zmt_ijkang_nam, zmt_ijklto_nam, - $ zmt_ijklop_nam, zmt_ijklnb_nam - - common/ccgeometry/ - $ names(1:max_geom), - $ trans(1:max_geom), - $ names_rtdb(1:max_geom_rtdb), - $ tags(max_cent, max_geom), - $ group_name(max_geom), - $ user_units(max_geom), - $ sym_spgnames(230), - $ sym_molgnames(46), - $ zmt_varname(max_izmat,max_geom), - $ zmt_source(max_geom), - $ zmt_ijbond_nam(max_zcoord,max_geom), - $ zmt_ijkang_nam(max_zcoord,max_geom), - $ zmt_ijklto_nam(max_zcoord,max_geom), - $ zmt_ijklop_nam(max_zcoord,max_geom), - $ zmt_ijklnb_nam(max_zcoord,max_geom) -c - - diff --git a/src/optim/tropt/geomP.fh b/src/optim/tropt/geomP.fh deleted file mode 100644 index ac3b9d69e7..0000000000 --- a/src/optim/tropt/geomP.fh +++ /dev/null @@ -1,236 +0,0 @@ -* -* $Id$ -* -c -c Private fortran include file for the geometry routines -c -c Parameters -c -c max_geom = maximum no. of geometries -c max_cent = maximum no. of centers in a geometry -c max_geom_rtdb = maximum no. of geometries stored in the rtdb -c nelments = no. of elements that info is stored about -c -c [The only thing that cannot be dynamically allocated are the -c character variables for the tags ... I was lazy and just statically -c dimensioned everything ... just drudge work to dynamically -c allocate though if necessary ... which it hopefully will not be -c ... since only geom.F (and maybe the basis routines) include -c this header file only these need to be recompiled if the parameters -c are changed] -c -c Members of /cgeometry/ -c -c ngeom_rtdb = current no. of geometries on the rtdb -c active(1:max_geom) = true if this geometry is open -c ncenter(1:max_geom) = no. of centers in this geometry -c coords(1:3,1:max_cent,1:max_geom) = cartesian coords of this geometry -c charge(1:max_cent,1:max_geom) = charges associated with centers -c geom_mass(1:max_cent,1:max_geom) = mass associated with centers -c geom_invnucexp(1:max_cent,1:max_geom) = inverse of nuclear exponent -c dipole ... not yet -c quadrupole ... not yet -c pseudopotential ... not yet -c efield(1:3,1:max_geom) = external electric field applied to this system -c oefield = true if efield is on -c angstrom_to_au = scale factor between angstom and atomic units -c include_bqbq(geom) = include bqbq interactions for this molecule -c -c--> symmetry information -c -c sym_sgpnames(1:230) = list of known space groups ... must match spgen -c sym_mgpnames(1:46) = list of known molecular groups ... ditto -c ncenter_unique(1:max_geom) = no. of symmetry unique centers -c unique_cent(1:max_cent,1:max_geom) = list of symmetry unique centers -c group_number(max_geom) = Tony magic group number -c setting_number(max_geom) = Where the symmetry origin is -c max_sym_ops = max. no. of operations in group -c sym_ops(max_sym_op*3,4) = matrix representation of symmetry operators -c molecules -> transformation of cartesians -c periodic -> ask tony! -c sym_op_inv(max_sym_op,max_geom) = index of inverse operation -c sym_num_ops(max_geom) = order of group minus one -c = no. of operations in the group -c sym_center_map_handle(max_geom) = MA handle of integer array -c sym_center_map(center,op)->op*center -c sym_center_map_index(max_geom) = MA index of integer array -c sym_center_map(center,op)->op*center -c -c group_name(max_geom) = symbolic name of the molecular group -c -c--> solid state specific information -c -c isystype(1:max_geom) = 0 (molecular), 1 (polymer), 2 (surface) -c 3 (crystal) -c lattice_vectors(1:3,1:max_geom) = lengths of unit cell axes (angstrom) -c lattice_angles(1:3,1:max_geom) = angles between unit cell axes (angstrom) -c -c amatrix(1:3,1:3,1:max_geom) = matrix that transforms atomic fractional -c coords. to a Cartesian system in bohr. This matrix -c is the unit matrix for molecular systems. -c -c bmatrix(1:3,1:3,1:max_geom) = matrix that transforms reciprocal lattice vectors -c to a Cartesian system (a.u.). This matrix -c is the unit matrix for molecular systems. -c -c amatrix_inv(1:3,1:3,1:max_geom) = used to transform from atomic Cartesian -c coords. to fractional coordinates & can be used -c to resolve the scalar lattice vectors into their -c Cartesian components. This matrix is the unit -c matrix for molecular systems. -c -c volume_direct(1:max_geom) = direct space unit cell volume units = Ang^3 -c metric_matrix(1:3,1:3,1:max_geom) = metric matrix for Bravais lattice -c recip_lat_vectors(1:3,1:max_geom) = reciprocal lattice vectors (angstroms) -c recip_lat_angles(1:3,1:max_geom) = reciprocal lattice angles (degrees) -c -c operiodic = obsolete -c latvec(1:3,1:3,1:max_geom) = obsolete -c -c erep(1:max_geom) = interaction energy of centers with each other -c and external fields. At its simplest this is -c just the nuclear repulsion energy -c ndipole(1:3,1:max_geom) = nuclear dipole moment -c -c Members of /ccgeometry/ -c -c names(1:max_geom) = names of open geometries -c trans(1:max_geom) = translations of names of open geoms -c names_rtdb(1:max_geom_rtdb) = names of geometries in the rtdb -c tag(1:max_cent,1:max_geom) = tags associated with centers -c zmt_source(1:max_geom) = source of zmatrix (user or autoz) -c lenn(1:max_geom) = length of names(geom) minus trailing blanks -c lent(1:max_geom) = length of trans(geom) ... -c lenr(1:max_geom_rtdb) = length of names_rtdb(geom) ... -c symbols(1:nelements) = symbols for elements -c elements(1:nelements) = names of elements -c - - integer max_geom, max_cent, max_geom_rtdb, nelements, - $ max_sym_ops - integer max_izmat, max_nzvar, max_zcoord -c - parameter (max_sym_ops = 192) - parameter (max_geom = nw_max_geoms) - parameter (max_geom_rtdb = 100) - parameter (nelements = 109) - parameter (max_cent = nw_max_atom) - parameter (max_nzvar = 6*max_cent) - parameter (max_izmat = 4*max_nzvar) - parameter (max_zcoord = 16) ! For augmenting autoz -c - logical active, operiodic, oefield, include_bqbq, oecpcent, - $ zmt_ijbond_frz, zmt_ijkang_frz, zmt_ijklto_frz, - $ zmt_ijklop_frz, zmt_ijklnb_frz - - integer ngeom_rtdb, ncenter, lenn, lent, lenr, group_number, - $ ncenter_unique, isystype, setting_number, unique_cent, - $ sym_op_inv, sym_num_ops, sym_center_map_handle, - $ sym_center_map_index, - $ zmt_izmat,zmt_nizmat, - $ zmt_izfrz,zmt_nzfrz, zmt_nzvar, zmt_maxtor, - $ zmt_ijbond, zmt_ijkang, zmt_ijklto, zmt_ijklop, zmt_ijklnb - - double precision coords, charge, efield, latvec, ndipole, erep, - $ lattice_vectors, lattice_angles, amatrix, amatrix_inv, - $ volume_direct, metric_matrix, recip_lat_vectors, - $ recip_lat_angles, sym_ops, angstrom_to_au, geom_invnucexp, - $ geom_mass,bmatrix, velocities, zmt_varsign, zmt_cvr_scaling, - $ zmt_ijbond_val, zmt_ijkang_val, zmt_ijklto_val, - $ zmt_ijklop_val, zmt_ijklnb_val, zmt_izfrz_val - - common/cgeometry/ -* doubles - $ coords(3,max_cent,max_geom), - $ velocities(3,max_cent,max_geom), - $ charge(max_cent,max_geom), - $ geom_mass(max_cent,max_geom), - $ geom_invnucexp(max_cent,max_geom), - $ efield(3, max_geom), - $ latvec(3,3, max_geom), ! Obsolete ? - $ erep(max_geom), - $ ndipole(3,max_geom), - $ lattice_vectors(1:3,1:max_geom), - $ lattice_angles(1:3,1:max_geom), - $ recip_lat_vectors(1:3,1:max_geom), - $ recip_lat_angles(1:3,1:max_geom), - $ amatrix(3,3,max_geom), - $ bmatrix(3,3,max_geom), - $ amatrix_inv(3,3,max_geom), - $ sym_ops(max_sym_ops*3,4,max_geom), - $ metric_matrix(3,3,max_geom), - $ volume_direct(max_geom), - $ angstrom_to_au, - $ zmt_varsign(max_nzvar,max_geom), - $ zmt_cvr_scaling(max_geom), - $ zmt_ijbond_val(max_zcoord,max_geom), - $ zmt_ijkang_val(max_zcoord,max_geom), - $ zmt_ijklto_val(max_zcoord,max_geom), - $ zmt_ijklop_val(max_zcoord,max_geom), - $ zmt_ijklnb_val(max_zcoord,max_geom), - $ zmt_izfrz_val(max_nzvar,max_geom), -* integers & logicals - $ ncenter(max_geom), - $ active(max_geom), - $ lenn(max_geom), - $ lent(max_geom), - $ lenr(max_geom_rtdb), - $ operiodic(max_geom), ! Obsolete ? - $ oefield(max_geom), - $ isystype(1:max_geom), - $ ncenter_unique(1:max_geom), - $ unique_cent(1:max_cent,1:max_geom), - $ group_number(max_geom), - $ setting_number(max_geom), - $ sym_op_inv(max_sym_ops,max_geom), - $ sym_num_ops(max_geom), - $ sym_center_map_handle(max_geom), - $ sym_center_map_index(max_geom), - $ include_bqbq(max_geom), - $ oecpcent(max_cent,max_geom), - $ ngeom_rtdb, - $ zmt_nizmat(max_geom), - $ zmt_nzfrz(max_geom), - $ zmt_nzvar(max_geom), - $ zmt_maxtor(max_geom), - $ zmt_izmat(max_izmat,max_geom), - $ zmt_izfrz(max_nzvar,max_geom), - $ zmt_ijbond(2,max_zcoord,max_geom), - $ zmt_ijkang(3,max_zcoord,max_geom), - $ zmt_ijklto(4,max_zcoord,max_geom), - $ zmt_ijklop(4,max_zcoord,max_geom), - $ zmt_ijklnb(4,max_zcoord,max_geom), - $ zmt_ijbond_frz(max_zcoord,max_geom), - $ zmt_ijkang_frz(max_zcoord,max_geom), - $ zmt_ijklto_frz(max_zcoord,max_geom), - $ zmt_ijklop_frz(max_zcoord,max_geom), - $ zmt_ijklnb_frz(max_zcoord,max_geom) -c - character*256 names, names_rtdb, trans - character*16 tags - character*10 group_name - character*10 user_units - character*10 sym_spgnames,sym_molgnames - character*8 zmt_varname, zmt_source, - $ zmt_ijbond_nam, zmt_ijkang_nam, zmt_ijklto_nam, - $ zmt_ijklop_nam, zmt_ijklnb_nam - - common/ccgeometry/ - $ names(1:max_geom), - $ trans(1:max_geom), - $ names_rtdb(1:max_geom_rtdb), - $ tags(max_cent, max_geom), - $ group_name(max_geom), - $ user_units(max_geom), - $ sym_spgnames(230), - $ sym_molgnames(46), - $ zmt_varname(max_izmat,max_geom), - $ zmt_source(max_geom), - $ zmt_ijbond_nam(max_zcoord,max_geom), - $ zmt_ijkang_nam(max_zcoord,max_geom), - $ zmt_ijklto_nam(max_zcoord,max_geom), - $ zmt_ijklop_nam(max_zcoord,max_geom), - $ zmt_ijklnb_nam(max_zcoord,max_geom) -c - -