CONGEN
5.0
Configuration generation for SCATCI
|
Go to the documentation of this file.
34 use precisn,
only : wp
35 use consts,
only : xhalf
39 integer,
parameter ::
lg = 75
40 integer,
parameter ::
nu = 20
41 integer,
parameter ::
ny = 150
42 integer,
parameter ::
nz = 150
43 integer,
parameter ::
jx = 75
44 integer,
parameter ::
jy = 10
46 integer,
parameter ::
jz = 10
47 integer,
parameter ::
ky = 75
48 integer,
parameter ::
kz = 500
51 real(kind=wp),
parameter ::
root2 = 0.7071067811865475_wp
52 real(kind=wp),
parameter ::
thresh1 = 1.e-10_wp
53 real(kind=wp),
parameter ::
thresh2 = 1.0e-30_wp
56 integer,
parameter ::
nftr = 5
59 character(len=4),
dimension(3),
parameter ::
blnk43 = &
61 character(len=8),
dimension(7),
parameter ::
header = &
62 (/
'SHELL NO',
'OCCSHL ',
'SYM ',
'GUSHL ',
'PQN ',
'QNSHL ',
'CUP ' /)
63 character(len=4),
dimension(7),
parameter ::
rhead = &
64 (/
' ',
'MSHL',
'PQN ',
'NES ',
'SO1 ',
'SO2 ',
'G/U ' /)
66 character(len=3),
parameter ::
lp =
' ( '
67 character(len=1),
parameter ::
star =
'*'
69 character(len=1),
dimension(132) ::
head
90 integer,
dimension(3,lg) ::
cup
91 integer,
dimension(3,lg) ::
pqnst
93 integer,
dimension(lg) ::
mshl
98 integer,
dimension(2,lg) ::
kslim
99 integer,
dimension(2,lg) ::
mclim
106 real(kind=wp),
dimension((jsmax*jsmax + 3*jsmax + 4)/2) ::
binom
107 integer,
dimension(jsmax+2) ::
ind
118 integer,
dimension(nu,lg) ::
nst
character(len=8), dimension(7), parameter header
integer, parameter nz
Used to dimension REFDET in congen_driver::csfgen; maximum number of electrons.
integer, parameter jx
Used to dimension many arrays in congen_driver::csfgen; limit on the sum of elements in the NSHLP arr...
integer, dimension(lg) mshl
Symmetry number from zero to n-1 (mvalue).
integer, dimension(lg) nonew
integer noi
Number of determinants per CSF.
integer lratio
Ratio of real size to integer size. Used to manage workspace data.
integer nid
Length of the integer array containing all packed determinants.
integer, parameter jz
Maximum number of constraints upon CSFs accepted (limit on input variable NTCON).
integer megul
File unit for binary output of generated configurations.
integer nisz
Total S_z, set by CSFGEN, defaults to first element of qntot.
integer, parameter ny
Used to dimension REFGU and REFORB in csfgen. Limit on input variable NREFO.
real(kind=wp), parameter root2
Note that this is actually inverse square root!
integer ndel2
Workspace position used for reading CSFs from the input.
character(len=4), dimension(7), parameter rhead
integer, parameter lg
??? used to dimension arrays below; also in CPLE[A,M].
integer, dimension(3, lg) cup
Coupling scheme data. ???
integer icdi
Position in workspace where the determinant coefficients start (one coeff per one determinant).
integer lppmax
Pagination limit - how many lines between two headers.
integer, dimension(2, lg) kslim
integer, parameter nu
Maximal number of irreducible representation (= max dimension of NOB etc.).
integer indi
Position in workspace where packed determinants start (each as size + replacements).
integer nstate
Number of couplings computed in congen_distribution::cplea or congen_distribution::cplem.
integer, dimension(nu) nshsym
integer inodi
Position in workspace where CSFs start (as number of determinants per CSF).
character(len=4), dimension(3), parameter blnk43
integer, dimension(3) qntar
Coupling control for current wfn group. ???
integer symtyp
Symmetry type, 0 = C_infv, 1 = D_infh, 2 = {D_2h, C_2v, C_s, E}.
integer, dimension(jsmax+2) ind
Pascal triangle row pointers into congen_data::binom.
integer lppr
Global output line counter – number of lines on current page.
integer ndist
Number of distributions generated from set of shells (set in congen_distribution::assign).
integer confpf
Print flag for the amount of print given of configurations and prototypes.
integer nshl
Number of shells in the set of orbitals currently being processed.
integer npage
Page counter, currently limited to 3 digits (see congen_pagecontrol::addl).
integer ni
Number of determinants currently in memory.
integer, dimension(lg) occshl
Compressed shell occupations, all zeros deleted and pseudo shells expanded.
integer ncsf
Total number of CSFs generated.
integer next
Position in the workspace indicating the first unused element.
integer nobt
Total number of all orbitals considered in the calculation, essentially equal to sum(nob).
integer, dimension(lg) sshlst
integer, parameter nftr
Unit number for reading standard input.
integer, dimension(3) qntot
Total quantum numbers.
integer nftw
Unit number for printing; may be changed via the STATE namelist so not a parameter.
integer, parameter nitem
Number of interesting things printed per line in the PRINT* routines.
integer nsym
Number of symmetries given in input file (right-trimmed of those with zero orbitals).
integer iqnstr
Starting position in workspace for per-shell quantum numbers (e.g. congen_distribution::cplem).
integer, parameter ky
Used to dimension REFGUG and REFORG in congen_driver::csfgen. Limit on input variable NREFOG?
integer, dimension(2, lg) mclim
integer ncall
Used to signal to "wfn" to initialize some variables.
integer, dimension(lg) qnshlr
Total quantum numbers for all shells in the set of orbitals being processed.
integer, dimension(lg) gushl
Gerade/ungerade per shell.
integer, parameter mxtarg
Maximum number of target state symmetries.
integer, dimension(lg) spnmin
integer, dimension(:), allocatable exdet
integer lndi
Total number of integers forming packed determinants.
integer, dimension(nu) shlmx1
Maximal occupancy of orbitals per symmetry.
integer ndel
Workspace position used for the CSFs read from input.
integer ntyp
Prototype number, updated in congen_distribution::distrb.
integer ift
Used to signal to congen_distribution::assign to initialize some variables.
character(len=1), parameter star
integer ntso
Total number of spin-orbitals, given the orbitals and their maximal occupacy (from group properties).
integer nnlecg
The total number of electrons which are movable within the current wfn group.
real(kind=wp), parameter thresh2
Threshold used in congen_projection::wfgntr.
Module containing parameters / data required throughout the CONGEN program.
character(len=1), dimension(132) head
String with output page number and user-specific header text.
integer iexcon
Position in workspace where EX constraints start.
integer gutot
Total gerade (= +1) / ungerade (= -1) quantum number.
integer, dimension(nu) nobi
Running index of the first orbital in each symmetry.
integer nncsf
Number of CSFs generated by congen_distribution::wfn (total).
integer, parameter kz
Used to dimension REFDTG in csfgen; limit on input variable NELECG?
integer, dimension(3, lg) pqnst
integer, dimension(:), allocatable exref
Population of spin-orbitals (0 = not populated, 1 = populated).
character(len=3), parameter lp
integer lcdi
Total number of determinants (including those already flushed to disk).
integer, dimension(lg) norep
real(kind=wp), parameter thresh1
Threshold used in congen_distribution::cgcoef.
real(kind=wp), dimension((jsmax *jsmax+3 *jsmax+4)/2) binom
Table of precomputed Pascal triangle.
integer, dimension(jz) test
Determines which of the two types of constraints will be used.
integer, parameter jsmax
Maximal order of precomputed binomial coefficients.
integer, dimension(3, 2 *lg) qnshl
integer, dimension(nu, lg) nst
Pointer to shell index and order count; only used in congen_distribution::assign.
integer nx
Full or remaining workspace size (depending on context).
integer nodimx
Maximal number of workspace elements usable for CSF information.
integer ndimx
Maximal number of workspace elements usable for packed determinant data.
integer ndel1
Workspace position used for reading CSFs from the input.
integer, parameter jy
Used to dimension various arrays in csfgen including NELECP and NSHLP. Limit on input variable NDPROD...
integer cdimx
Maximal number of determinants.
integer, dimension(jz) nrcon
integer nndel
Number of workspace elements used for reservation of space needed when reading CSFs from input.
integer, dimension(nu) nsoi
Running index of the first spin-orbital within given total symmetry.