CONGEN  5.0
Configuration generation for SCATCI
congen_data Module Reference

Module containing parameters / data required throughout the CONGEN program. More...

Variables

integer, parameter lg = 75
 ??? used to dimension arrays below; also in CPLE[A,M]. More...
 
integer, parameter nu = 20
 Maximal number of irreducible representation (= max dimension of NOB etc.). More...
 
integer, parameter ny = 150
 Used to dimension REFGU and REFORB in csfgen. Limit on input variable NREFO. More...
 
integer, parameter nz = 150
 Used to dimension REFDET in congen_driver::csfgen; maximum number of electrons. More...
 
integer, parameter jx = 75
 Used to dimension many arrays in congen_driver::csfgen; limit on the sum of elements in the NSHLP array. More...
 
integer, parameter jy = 10
 Used to dimension various arrays in csfgen including NELECP and NSHLP. Limit on input variable NDPROD. More...
 
integer, parameter jz = 10
 Maximum number of constraints upon CSFs accepted (limit on input variable NTCON). More...
 
integer, parameter ky = 75
 Used to dimension REFGUG and REFORG in congen_driver::csfgen. Limit on input variable NREFOG? More...
 
integer, parameter kz = 500
 Used to dimension REFDTG in csfgen; limit on input variable NELECG? More...
 
integer, parameter mxtarg = 50
 Maximum number of target state symmetries. More...
 
real(kind=wp), parameter root2 = 0.7071067811865475_wp
 Note that this is actually inverse square root! More...
 
real(kind=wp), parameter thresh1 = 1.E-10_wp
 Threshold used in congen_distribution::cgcoef. More...
 
real(kind=wp), parameter thresh2 = 1.0E-30_wp
 Threshold used in congen_projection::wfgntr. More...
 
integer, parameter nitem = 9
 Number of interesting things printed per line in the PRINT* routines. More...
 
integer, parameter nftr = 5
 Unit number for reading standard input. More...
 
integer nftw = 6
 Unit number for printing; may be changed via the STATE namelist so not a parameter. More...
 
character(len=4), dimension(3), parameter blnk43 = (/ ' ', ' ', ' ' /)
 
character(len=8), dimension(7), parameter header = (/ 'SHELL NO', 'OCCSHL ', 'SYM ', 'GUSHL ', 'PQN ', 'QNSHL ', 'CUP ' /)
 
character(len=4), dimension(7), parameter rhead = (/ ' ', 'MSHL', 'PQN ', 'NES ', 'SO1 ', 'SO2 ', 'G/U ' /)
 
character(len=3), parameter lp = ' ( '
 
character(len=1), parameter star = '*'
 
character(len=1), dimension(132) head
 String with output page number and user-specific header text. More...
 
integer lppmax
 Pagination limit - how many lines between two headers. More...
 
integer lppr
 Global output line counter – number of lines on current page. More...
 
integer npage
 Page counter, currently limited to 3 digits (see congen_pagecontrol::addl). More...
 
integer lratio
 Ratio of real size to integer size. Used to manage workspace data. More...
 
integer icdi
 Position in workspace where the determinant coefficients start (one coeff per one determinant). More...
 
integer iexcon
 Position in workspace where EX constraints start. More...
 
integer indi
 Position in workspace where packed determinants start (each as size + replacements). More...
 
integer inodi
 Position in workspace where CSFs start (as number of determinants per CSF). More...
 
integer iqnstr
 Starting position in workspace for per-shell quantum numbers (e.g. congen_distribution::cplem). More...
 
integer irfcon
 
integer ndel
 Workspace position used for the CSFs read from input. More...
 
integer ndel1
 Workspace position used for reading CSFs from the input. More...
 
integer ndel2
 Workspace position used for reading CSFs from the input. More...
 
integer gutot
 Total gerade (= +1) / ungerade (= -1) quantum number. More...
 
integer nisz
 Total S_z, set by CSFGEN, defaults to first element of qntot. More...
 
integer nndel
 Number of workspace elements used for reservation of space needed when reading CSFs from input. More...
 
integer nnlecg
 The total number of electrons which are movable within the current wfn group. More...
 
integer symtyp
 Symmetry type, 0 = C_infv, 1 = D_infh, 2 = {D_2h, C_2v, C_s, E}. More...
 
integer, dimension(3, lgcup
 Coupling scheme data. ??? More...
 
integer, dimension(3, lgpqnst
 
integer, dimension(lggushl
 Gerade/ungerade per shell. More...
 
integer, dimension(lgmshl
 Symmetry number from zero to n-1 (mvalue). More...
 
integer, dimension(lgoccshl
 Compressed shell occupations, all zeros deleted and pseudo shells expanded. More...
 
integer, dimension(lgqnshlr
 Total quantum numbers for all shells in the set of orbitals being processed. More...
 
integer, dimension(lgspnmin
 
integer, dimension(lgsshlst
 
integer, dimension(2, lgkslim
 
integer, dimension(2, lgmclim
 
integer, dimension(3, 2 *lgqnshl
 
integer, dimension(3) qntar
 Coupling control for current wfn group. ??? More...
 
integer, dimension(3) qntot
 Total quantum numbers. More...
 
integer, dimension(nushlmx1
 Maximal occupancy of orbitals per symmetry. More...
 
integer, parameter jsmax = 20
 Maximal order of precomputed binomial coefficients. More...
 
real(kind=wp), dimension((jsmax *jsmax+3 *jsmax+4)/2) binom
 Table of precomputed Pascal triangle. More...
 
integer, dimension(jsmax+2) ind
 Pascal triangle row pointers into congen_data::binom. More...
 
integer ift
 Used to signal to congen_distribution::assign to initialize some variables. More...
 
integer nobt
 Total number of all orbitals considered in the calculation, essentially equal to sum(nob). More...
 
integer ntcon
 
integer nsym
 Number of symmetries given in input file (right-trimmed of those with zero orbitals). More...
 
integer, dimension(nunobi
 Running index of the first orbital in each symmetry. More...
 
integer, dimension(nunshsym
 
integer, dimension(jznrcon
 
integer, dimension(jztest
 Determines which of the two types of constraints will be used. More...
 
integer, dimension(nu, lgnst
 Pointer to shell index and order count; only used in congen_distribution::assign. More...
 
integer confpf
 Print flag for the amount of print given of configurations and prototypes. More...
 
integer ncsf
 Total number of CSFs generated. More...
 
integer ne
 
integer nshl
 Number of shells in the set of orbitals currently being processed. More...
 
integer ntyp
 Prototype number, updated in congen_distribution::distrb. More...
 
integer cdimx
 Maximal number of determinants. More...
 
integer ndist
 Number of distributions generated from set of shells (set in congen_distribution::assign). More...
 
integer nstate
 Number of couplings computed in congen_distribution::cplea or congen_distribution::cplem. More...
 
integer megul
 File unit for binary output of generated configurations. More...
 
integer ncall
 Used to signal to "wfn" to initialize some variables. More...
 
integer ndimx
 Maximal number of workspace elements usable for packed determinant data. More...
 
integer nncsf
 Number of CSFs generated by congen_distribution::wfn (total). More...
 
integer nodimx
 Maximal number of workspace elements usable for CSF information. More...
 
integer ntso
 Total number of spin-orbitals, given the orbitals and their maximal occupacy (from group properties). More...
 
integer, dimension(:), allocatable exdet
 
integer, dimension(:), allocatable exref
 Population of spin-orbitals (0 = not populated, 1 = populated). More...
 
integer, dimension(lgnonew
 
integer, dimension(lgnorep
 
integer, dimension(nunsoi
 Running index of the first spin-orbital within given total symmetry. More...
 
integer iidis2
 
integer lcdi
 Total number of determinants (including those already flushed to disk). More...
 
integer lndi
 Total number of integers forming packed determinants. More...
 
integer ni
 Number of determinants currently in memory. More...
 
integer nid
 Length of the integer array containing all packed determinants. More...
 
integer noi
 Number of determinants per CSF. More...
 
integer next
 Position in the workspace indicating the first unused element. More...
 
integer nx
 Full or remaining workspace size (depending on context). More...
 
integer idcp
 
integer idop
 
integer ieltp
 

Detailed Description

Authors
J Carr
Date
2010

This module defines many variables that for instance set hard-coded limits on various arrays used in the program that are not expected to need dynamic allocation (e.g. maximal number of irreducible representation), or other frequently used specific numbers (e.g. id of standard input unit or general math constants).

Besides these parameters a lot of variables shared between CONGEN's routines are defined (and documented) here to avoid extensive argument lists.

Variable Documentation

◆ binom

real(kind=wp), dimension((jsmax*jsmax + 3*jsmax + 4)/2) congen_data::binom

Definition at line 106 of file congen_data.f90.

Referenced by congen_distribution::cgcoef(), and congen_driver::icgcf().

◆ blnk43

character(len=4), dimension(3), parameter congen_data::blnk43 = (/ ' ', ' ', ' ' /)

Definition at line 59 of file congen_data.f90.

Referenced by congen_distribution::print1(), and congen_distribution::print2().

◆ cdimx

integer congen_data::cdimx

◆ confpf

◆ cup

◆ exdet

integer, dimension(:), allocatable congen_data::exdet
Todo:
Local to congen_distribution::wfn - move it there!

Definition at line 135 of file congen_data.f90.

Referenced by congen_driver::csfgen(), and congen_distribution::wfn().

◆ exref

integer, dimension(:), allocatable congen_data::exref

Definition at line 136 of file congen_data.f90.

Referenced by congen_driver::csfgen(), and congen_distribution::wfn().

◆ gushl

integer, dimension(lg) congen_data::gushl

◆ gutot

integer congen_data::gutot

Definition at line 84 of file congen_data.f90.

Referenced by congen_distribution::cplea(), and congen_driver::csfgen().

◆ head

character(len=1), dimension(132) congen_data::head

◆ header

character(len=8), dimension(7), parameter congen_data::header = (/ 'SHELL NO', 'OCCSHL ', 'SYM ', 'GUSHL ', 'PQN ', 'QNSHL ', 'CUP ' /)

Definition at line 61 of file congen_data.f90.

Referenced by congen_distribution::print1(), and congen_distribution::print2().

◆ icdi

integer congen_data::icdi

◆ idcp

integer congen_data::idcp

Definition at line 149 of file congen_data.f90.

◆ idop

integer congen_data::idop

Definition at line 150 of file congen_data.f90.

◆ ieltp

integer congen_data::ieltp

Definition at line 151 of file congen_data.f90.

◆ iexcon

integer congen_data::iexcon

◆ ift

integer congen_data::ift

Definition at line 109 of file congen_data.f90.

Referenced by congen_distribution::assign(), and congen_driver::csfgen().

◆ iidis2

integer congen_data::iidis2

Definition at line 141 of file congen_data.f90.

Referenced by congen_driver::csfout(), and congen_distribution::wfn().

◆ ind

integer, dimension(jsmax+2) congen_data::ind

Definition at line 107 of file congen_data.f90.

Referenced by congen_distribution::cgcoef(), and congen_driver::icgcf().

◆ indi

integer congen_data::indi

◆ inodi

integer congen_data::inodi

◆ iqnstr

integer congen_data::iqnstr

◆ irfcon

integer congen_data::irfcon

◆ jsmax

integer, parameter congen_data::jsmax = 20

Definition at line 105 of file congen_data.f90.

Referenced by congen_driver::icgcf().

◆ jx

integer, parameter congen_data::jx = 75

Definition at line 43 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ jy

integer, parameter congen_data::jy = 10

Definition at line 44 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ jz

integer, parameter congen_data::jz = 10

Definition at line 46 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ kslim

integer, dimension(2,lg) congen_data::kslim

Definition at line 98 of file congen_data.f90.

Referenced by congen_distribution::cplea().

◆ ky

integer, parameter congen_data::ky = 75

Definition at line 47 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ kz

integer, parameter congen_data::kz = 500

Definition at line 48 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ lcdi

integer congen_data::lcdi

Definition at line 142 of file congen_data.f90.

Referenced by congen_driver::csfout(), and congen_distribution::wfn().

◆ lg

integer, parameter congen_data::lg = 75

◆ lndi

integer congen_data::lndi

Definition at line 143 of file congen_data.f90.

Referenced by congen_driver::csfout(), and congen_distribution::wfn().

◆ lp

character(len=3), parameter congen_data::lp = ' ( '

Definition at line 66 of file congen_data.f90.

Referenced by congen_distribution::print1(), and congen_distribution::print2().

◆ lppmax

◆ lppr

◆ lratio

integer congen_data::lratio

◆ mclim

integer, dimension(2,lg) congen_data::mclim

Definition at line 99 of file congen_data.f90.

Referenced by congen_distribution::cplea().

◆ megul

integer congen_data::megul

Definition at line 128 of file congen_data.f90.

Referenced by congen_driver::csfgen(), and congen_distribution::wfn().

◆ mshl

◆ mxtarg

integer, parameter congen_data::mxtarg = 50

Definition at line 49 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ ncall

integer congen_data::ncall

Definition at line 129 of file congen_data.f90.

Referenced by congen_driver::csfgen(), and congen_distribution::wfn().

◆ ncsf

◆ ndel

integer congen_data::ndel

◆ ndel1

integer congen_data::ndel1

Definition at line 82 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ ndel2

integer congen_data::ndel2

Definition at line 83 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ ndimx

integer congen_data::ndimx

◆ ndist

◆ ne

◆ next

integer congen_data::next

◆ nftr

integer, parameter congen_data::nftr = 5

Definition at line 56 of file congen_data.f90.

Referenced by congen_driver::csfgen(), and congen_driver::subdel().

◆ nftw

◆ ni

integer congen_data::ni

Definition at line 144 of file congen_data.f90.

Referenced by congen_driver::csfout(), and congen_distribution::wfn().

◆ nid

integer congen_data::nid

Definition at line 145 of file congen_data.f90.

Referenced by congen_driver::csfout(), and congen_distribution::wfn().

◆ nisz

integer congen_data::nisz

Definition at line 85 of file congen_data.f90.

Referenced by congen_driver::csfgen(), and congen_distribution::state().

◆ nitem

integer, parameter congen_data::nitem = 9

◆ nncsf

integer congen_data::nncsf

Definition at line 131 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ nndel

integer congen_data::nndel

◆ nnlecg

◆ nobi

integer, dimension(nu) congen_data::nobi

Definition at line 114 of file congen_data.f90.

Referenced by congen_distribution::assign(), and congen_driver::csfgen().

◆ nobt

integer congen_data::nobt

Definition at line 110 of file congen_data.f90.

Referenced by congen_distribution::assign(), and congen_driver::csfgen().

◆ nodimx

integer congen_data::nodimx

◆ noi

integer congen_data::noi

Definition at line 146 of file congen_data.f90.

Referenced by congen_driver::csfout(), and congen_distribution::wfn().

◆ nonew

integer, dimension(lg) congen_data::nonew

Definition at line 137 of file congen_data.f90.

Referenced by congen_distribution::wfn().

◆ norep

integer, dimension(lg) congen_data::norep

Definition at line 138 of file congen_data.f90.

Referenced by congen_distribution::wfn().

◆ npage

integer congen_data::npage

◆ nrcon

integer, dimension(jz) congen_data::nrcon

Definition at line 116 of file congen_data.f90.

Referenced by congen_distribution::assign(), and congen_driver::csfgen().

◆ nshl

◆ nshsym

integer, dimension(nu) congen_data::nshsym

Definition at line 115 of file congen_data.f90.

Referenced by congen_distribution::assign().

◆ nsoi

integer, dimension(nu) congen_data::nsoi

Definition at line 139 of file congen_data.f90.

Referenced by congen_driver::csfgen(), and congen_distribution::wfn().

◆ nst

integer, dimension(nu,lg) congen_data::nst

Definition at line 118 of file congen_data.f90.

Referenced by congen_distribution::assign().

◆ nstate

◆ nsym

integer congen_data::nsym

Definition at line 112 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ ntcon

integer congen_data::ntcon

Definition at line 111 of file congen_data.f90.

Referenced by congen_distribution::assign(), and congen_driver::csfgen().

◆ ntso

integer congen_data::ntso

Definition at line 133 of file congen_data.f90.

Referenced by congen_driver::csfgen(), and congen_distribution::wfn().

◆ ntyp

integer congen_data::ntyp

◆ nu

integer, parameter congen_data::nu = 20

Definition at line 40 of file congen_data.f90.

Referenced by congen_driver::csfgen(), and congen_driver::stwrit().

◆ nx

integer congen_data::nx

◆ ny

integer, parameter congen_data::ny = 150

Definition at line 41 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ nz

integer, parameter congen_data::nz = 150

Definition at line 42 of file congen_data.f90.

Referenced by congen_driver::csfgen().

◆ occshl

◆ pqnst

integer, dimension(3,lg) congen_data::pqnst

◆ qnshl

◆ qnshlr

integer, dimension(lg) congen_data::qnshlr

Definition at line 95 of file congen_data.f90.

Referenced by congen_distribution::assign().

◆ qntar

integer, dimension(3) congen_data::qntar

◆ qntot

integer, dimension(3) congen_data::qntot

◆ rhead

character(len=4), dimension(7), parameter congen_data::rhead = (/ ' ', 'MSHL', 'PQN ', 'NES ', 'SO1 ', 'SO2 ', 'G/U ' /)

Definition at line 63 of file congen_data.f90.

Referenced by congen_driver::stwrit(), and congen_driver::wvwrit().

◆ root2

real(kind=wp), parameter congen_data::root2 = 0.7071067811865475_wp

Definition at line 51 of file congen_data.f90.

Referenced by congen_distribution::getsa(), and congen_distribution::wfcple().

◆ shlmx1

integer, dimension(nu) congen_data::shlmx1

◆ spnmin

integer, dimension(lg) congen_data::spnmin

Definition at line 96 of file congen_data.f90.

Referenced by congen_distribution::cplea(), and congen_distribution::cplem().

◆ sshlst

integer, dimension(lg) congen_data::sshlst

◆ star

character(len=1), parameter congen_data::star = '*'

Definition at line 67 of file congen_data.f90.

Referenced by congen_distribution::print1(), and congen_distribution::print3().

◆ symtyp

integer congen_data::symtyp

◆ test

integer, dimension(jz) congen_data::test

Definition at line 117 of file congen_data.f90.

Referenced by congen_distribution::assign(), and congen_driver::csfgen().

◆ thresh1

real(kind=wp), parameter congen_data::thresh1 = 1.E-10_wp

Definition at line 52 of file congen_data.f90.

Referenced by congen_distribution::cgcoef().

◆ thresh2

real(kind=wp), parameter congen_data::thresh2 = 1.0E-30_wp

Definition at line 53 of file congen_data.f90.