Merge pull request #822 from jeffhammond/super-heavy-elements

Super heavy elements
This commit is contained in:
NWChem: Open Source High-Performance Computational Chemistry 2023-07-10 22:52:17 -07:00 committed by GitHub
commit ccc2e41f3b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 98 additions and 657 deletions

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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

55
src/geom/periodic.fh Normal file
View file

@ -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'/

View file

@ -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

View file

@ -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

View file

@ -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