| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | tHF | = | .false. | ||
| logical, | public | :: | tPops | = | .false. | ||
| logical, | public | :: | tPopsCore | = | .false. | ||
| logical, | public | :: | tPopsAuto | = | .false. | ||
| logical, | public | :: | tPopsProportion | = | .false. | ||
| logical, | public | :: | tRead | = | .false. | ||
| logical, | public | :: | tDoubles | = | .false. | ||
| logical, | public | :: | tTriples | = | .false. | ||
| logical, | public | :: | tHFConn | = | .false. | ||
| logical, | public | :: | tCAS | = | .false. | ||
| logical, | public | :: | tRAS | = | .false. | ||
| logical, | public | :: | tMP1 | = | .false. | ||
| logical, | public | :: | tOptimised | = | .false. | ||
| logical, | public | :: | tLowE | = | .false. | ||
| logical, | public | :: | tAllConnCore | = | .false. | ||
| logical, | public | :: | tFCI | = | .false. | ||
| logical, | public | :: | tHeisenbergFCI | = | .false. | ||
| integer, | public | :: | occ_cas | ||||
| integer, | public | :: | virt_cas | ||||
| type(opt_space_data), | public | :: | opt_data | ||||
| type(ras_parameters), | public | :: | ras | ||||
| logical, | public | :: | tLimitSpace | = | .false. | ||
| integer, | public | :: | max_size | = | 0 | ||
| integer, | public | :: | npops | = | 0 | ||
| real(kind=dp), | public | :: | npops_proportion | ||||
| logical, | public | :: | tApproxSpace | = | .false. | ||
| integer, | public | :: | nApproxSpace | = | 10 | ||
| integer, | public | :: | mp1_ndets | = | 0 | ||
| character(len=255), | public | :: | read_filename |
type subspace_in ! Just the Hartree-Fock determinant. logical :: tHF = .false. ! Use the most populated states in CurrentDets. logical :: tPops = .false. ! This logical variable has been introduced to prevent inconsistency ! of POPS-CORE-... keywords. logical :: tPopsCore = .false. ! Automatically choosing 10% of the total initiator space, if this number ! is larger than 50000, then use npops = 50000 logical :: tPopsAuto = .false. ! Use a given proportion of initiator determinants as core space. logical :: tPopsProportion = .false. ! Read states from a file. logical :: tRead = .false. ! Use the space of all single and double (+triple) excitations from the ! Hartree-Fock determinant (and also include the HF determinant). logical :: tDoubles = .false. logical :: tTriples = .false. ! Use all connections to the Hartree-Fock. logical :: tHFConn = .false. ! Use a CAS space. logical :: tCAS = .false. ! Use a RAS space. logical :: tRAS = .false. ! Use the determinants with the largest amplitudes in the MP1 ! wave function. logical :: tMP1 = .false. ! Use the iterative approach described by Petruzielo et. al. (PRL 109, 230201). logical :: tOptimised = .false. ! Like the optimised space, but instead of diagonalising the space ! each iteration to find which states to keep, we keep the states ! with the lowest energies. logical :: tLowE = .false. ! Actually use the space of all connections to the chosen space logical :: tAllConnCore = .false. ! Use the entire FCI space. logical :: tFCI = .false. ! Use the entire FCI space in Heisenberg model calculations. logical :: tHeisenbergFCI = .false. ! When using a CAS deterministic space, these integers store the number of orbitals above and below the Fermi energy to ! include in the CAS active space (the occupied and virtual orbitals). integer :: occ_cas integer :: virt_cas ! Optimised space data for generating a semi-stohastic space. type(opt_space_data) :: opt_data ! Paremeters for RAS space calculations. type(ras_parameters) :: ras ! If this is true then set a limit on the maximum deterministic space size. logical :: tLimitSpace = .false. ! This is maximum number of elements in the deterministic space, if tLimitDetermSpace is true. integer :: max_size = 0 ! The number of states to use from a POPSFILE for the core space. integer :: npops = 0 ! This proportion is multiplied by the number of initiator determinants to obtain npops. real(dp) :: npops_proportion ! If true then the space generated from the pops-core option may be very ! slightly unoptimal, but should be very good, and sometimes exactly the ! same as when this logical is false. Only applies to the pops-* options. logical :: tApproxSpace = .false. ! if tApproxSpace is true, then nApproxSpace times target pops-core space is the size of the array ! kept on each processor, 1 =< nApproxSpace =< nProcessors. The larger nApproxSpace, the more ! memory is consumed and the slower (but more accurate) is the semi-stochastic initialisation ! (see subroutine generate_space_most_populated). integer :: nApproxSpace = 10 ! When using the tMP1Core option, this specifies how many determinants to keep. integer :: mp1_ndets = 0 character(255) :: read_filename end type subspace_in