GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis 111
Loading...
Searching...
No Matches
integral_storage_gbl::integral_options_obj Type Reference

Public Member Functions

procedure check (this)
 Checks that the precision values are within a reasonable range.
procedure read (this, unit, record_start, position_after_read, identifier)
 Reads the integral_options data structure from the disk given the starting position of the record.
procedure write (this, unit, record_start, position_after_write)
 Writes the integral_options data structure to the disk given the starting position of the record.
procedure print (this)
 Prints to screen the contents of this object.

Public Attributes

real(kind=cfpprec = int_rel_prec
 Rel. precision for the resulting integrals. Error will be triggered if there is a suspicion that the integral fails to meet the precision specified. This is implemented for the GTO/BTO integrals.
real(kind=cfptol = int_del_thr
 Threshold magnitude for the integrals: integrals with absolute values smaller than this will be zeroed out.
real(kind=cfpa = 0.0_cfp
 R-matrix radius. This value must be always consistent with the extent of the BTO basis. The last endpoint of the radial B-spline grid must be the value of the R-matrix radius. If no BTOs are present in the continuum basis then this value can be set to an arbitrary value.
real(kind=cfpmax_ijrs_size = -1.0_cfp
 Maximum allowed size (in Mib) of the ijrs as allocated by molecular_orbital_basis_objtwo_electron_integrals.
logical two_p_continuum = .false.
 If set to .true. then 2p integrals of the type [continuum,continuum|continuum,continuum] will be calculated. If set to .false. (default) then 2p integrals with only one particle in the continuum will be calculated.
logical use_spherical_cgto_alg = .false.
 Set to .true. to use the CGTO-only integral algorithm based on the spherical CGTOs. This is numerically stable even for high L.
integer mixed_ints_method = -1
 Method to calculate the mixed BTO/CGTO integrals: 1 = Legendre expansion, 2 = Lebedev quadrature. todo broadcast it too in the parallel calculation!
integer aoints_index_scheme = 1
 Integral ordering scheme (1 = standard, 2 = compact)
character(len=line_len) scratch_directory = ''
 Defines scratch path for saving of intermediate results, see use_ylm_scratch and use_aoints_scratch.
integer max_l_legendre_1el = -1
 Maximum value of L to be used in the Legendre expansion when calculating the 1-electron, resp. 2-electron mixed integrals. todo broadcast it too in the parallel calculation!
integer max_l_legendre_2el = -1
real(kind=cfpdelta_r1 = 0.25_cfp
 Grid step for the r1 coordinate used in the calculation of the mixed BTO/GTO integrals.
integer max_property_l = -1
 The maximum value of the angular momentum of the property operator. The default is 2, i.e. property integrals up to quadrupoles will be calculated.
logical calculate_overlap_ints = .false.
 Set to .true. if calculation of overlap and kinetic energy integrals is required.
logical calculate_kinetic_energy_ints = .false.
 Set to .true. if calculation of kinetic energy integrals is required.
logical calculate_nuclear_attraction_ints = .false.
 Set to .true. if calculation of nuclear attraction integrals is required.
logical calculate_one_el_hamiltonian_ints = .false.
 Set to .true. if calculation of one electron Hamiltonian integrals are required (sum of kinetic energy and nuclear attraction integrals).
logical calculate_property_ints = .false.
 Set to .true. if calculation of property integrals (with max_property_l) is required.
logical calculate_bbb_ints = .false.
 Set to .true. if calculation of overlap integrals for a product of three basis functions is required.
logical calculate_two_el_ints = .false.
 Set to .true. if calculation of two electron integrals is required.
logical print_integrals = .false.
 Request to print the evaluated integrals at the end of the calculation. This parameter is not saved to/read from the disk.
real(kind=cfpdipole_damp_factor = 0.0_cfp
 If non-zero the radial part of the dipole operator will be replaced from 'r' to 'r * exp(-dipole_damp_factor * r)'.
logical keep_ao_integrals = .false.
 Logical switch for 2-electron integral transformation requesting to keep or not the AO integrals array after the transformation. This parameter is not stored on the 'moints' file: it is a calculation switch that is not recorded.
real(kind=cfphf_convergence = 0.0_cfp
 Parameter that decides, whether Hartree Fock energies converged.
integer hf_max_iters = 0
 Maximal number of iterations in Hartree Fock.
logical only_construct_fock_blocks = .false.
 If true, then in construct_canonical_continuum subroutine the diagonalization of the F_CC block is skipped, only the various fock matrix blocks are constructed and saved into output along with the MO integrals.
logical canonize_virtuals_instead_of_continuum = .false.
 If true, then in construct_canonical_continuum subroutine, the irreducible blocks are separated into blocks occupied x virtual instead of target x continuum, and therefore the diagonalization of fock blocks is done for the virtual-virtual subblock instead of the continuum-continuum subblock.
logical use_ylm_scratch = .true.
 If this variable is set to .true. then all intermediate integrals Y_lm needed for calculation of the BTO/GTO integrals will be saved to disk in the directory specified by scratch_directory.
logical use_aoints_scratch = .false.
 Map atomic two-electron integral array to scratch disk files.
logical use_transformation_scratch = .false.
 Map intermediate and final transformed integral blocks to scratch disk files.

Member Function/Subroutine Documentation

◆ check()

procedure integral_storage_gbl::integral_options_obj::check ( class(integral_options_obj) this)

Checks that the precision values are within a reasonable range.

◆ print()

procedure integral_storage_gbl::integral_options_obj::print ( class(integral_options_obj) this)

Prints to screen the contents of this object.

◆ read()

procedure integral_storage_gbl::integral_options_obj::read ( class(integral_options_obj) this,
integer, intent(in) unit,
integer, intent(in) record_start,
integer, intent(out) position_after_read,
character(len=*), intent(in) identifier )

Reads the integral_options data structure from the disk given the starting position of the record.

◆ write()

procedure integral_storage_gbl::integral_options_obj::write ( class(integral_options_obj) this,
integer, intent(in) unit,
integer, intent(in) record_start,
integer, intent(out) position_after_write )

Writes the integral_options data structure to the disk given the starting position of the record.

Member Data Documentation

◆ a

real(kind=cfp) integral_storage_gbl::integral_options_obj::a = 0.0_cfp

R-matrix radius. This value must be always consistent with the extent of the BTO basis. The last endpoint of the radial B-spline grid must be the value of the R-matrix radius. If no BTOs are present in the continuum basis then this value can be set to an arbitrary value.

◆ aoints_index_scheme

integer integral_storage_gbl::integral_options_obj::aoints_index_scheme = 1

Integral ordering scheme (1 = standard, 2 = compact)

◆ calculate_bbb_ints

logical integral_storage_gbl::integral_options_obj::calculate_bbb_ints = .false.

Set to .true. if calculation of overlap integrals for a product of three basis functions is required.

◆ calculate_kinetic_energy_ints

logical integral_storage_gbl::integral_options_obj::calculate_kinetic_energy_ints = .false.

Set to .true. if calculation of kinetic energy integrals is required.

◆ calculate_nuclear_attraction_ints

logical integral_storage_gbl::integral_options_obj::calculate_nuclear_attraction_ints = .false.

Set to .true. if calculation of nuclear attraction integrals is required.

◆ calculate_one_el_hamiltonian_ints

logical integral_storage_gbl::integral_options_obj::calculate_one_el_hamiltonian_ints = .false.

Set to .true. if calculation of one electron Hamiltonian integrals are required (sum of kinetic energy and nuclear attraction integrals).

◆ calculate_overlap_ints

logical integral_storage_gbl::integral_options_obj::calculate_overlap_ints = .false.

Set to .true. if calculation of overlap and kinetic energy integrals is required.

◆ calculate_property_ints

logical integral_storage_gbl::integral_options_obj::calculate_property_ints = .false.

Set to .true. if calculation of property integrals (with max_property_l) is required.

◆ calculate_two_el_ints

logical integral_storage_gbl::integral_options_obj::calculate_two_el_ints = .false.

Set to .true. if calculation of two electron integrals is required.

◆ canonize_virtuals_instead_of_continuum

logical integral_storage_gbl::integral_options_obj::canonize_virtuals_instead_of_continuum = .false.

If true, then in construct_canonical_continuum subroutine, the irreducible blocks are separated into blocks occupied x virtual instead of target x continuum, and therefore the diagonalization of fock blocks is done for the virtual-virtual subblock instead of the continuum-continuum subblock.

◆ delta_r1

real(kind=cfp) integral_storage_gbl::integral_options_obj::delta_r1 = 0.25_cfp

Grid step for the r1 coordinate used in the calculation of the mixed BTO/GTO integrals.

◆ dipole_damp_factor

real(kind=cfp) integral_storage_gbl::integral_options_obj::dipole_damp_factor = 0.0_cfp

If non-zero the radial part of the dipole operator will be replaced from 'r' to 'r * exp(-dipole_damp_factor * r)'.

◆ hf_convergence

real(kind=cfp) integral_storage_gbl::integral_options_obj::hf_convergence = 0.0_cfp

Parameter that decides, whether Hartree Fock energies converged.

◆ hf_max_iters

integer integral_storage_gbl::integral_options_obj::hf_max_iters = 0

Maximal number of iterations in Hartree Fock.

◆ keep_ao_integrals

logical integral_storage_gbl::integral_options_obj::keep_ao_integrals = .false.

Logical switch for 2-electron integral transformation requesting to keep or not the AO integrals array after the transformation. This parameter is not stored on the 'moints' file: it is a calculation switch that is not recorded.

◆ max_ijrs_size

real(kind=cfp) integral_storage_gbl::integral_options_obj::max_ijrs_size = -1.0_cfp

Maximum allowed size (in Mib) of the ijrs as allocated by molecular_orbital_basis_objtwo_electron_integrals.

◆ max_l_legendre_1el

integer integral_storage_gbl::integral_options_obj::max_l_legendre_1el = -1

Maximum value of L to be used in the Legendre expansion when calculating the 1-electron, resp. 2-electron mixed integrals. todo broadcast it too in the parallel calculation!

◆ max_l_legendre_2el

integer integral_storage_gbl::integral_options_obj::max_l_legendre_2el = -1

◆ max_property_l

integer integral_storage_gbl::integral_options_obj::max_property_l = -1

The maximum value of the angular momentum of the property operator. The default is 2, i.e. property integrals up to quadrupoles will be calculated.

◆ mixed_ints_method

integer integral_storage_gbl::integral_options_obj::mixed_ints_method = -1

Method to calculate the mixed BTO/CGTO integrals: 1 = Legendre expansion, 2 = Lebedev quadrature. todo broadcast it too in the parallel calculation!

◆ only_construct_fock_blocks

logical integral_storage_gbl::integral_options_obj::only_construct_fock_blocks = .false.

If true, then in construct_canonical_continuum subroutine the diagonalization of the F_CC block is skipped, only the various fock matrix blocks are constructed and saved into output along with the MO integrals.

◆ prec

real(kind=cfp) integral_storage_gbl::integral_options_obj::prec = int_rel_prec

Rel. precision for the resulting integrals. Error will be triggered if there is a suspicion that the integral fails to meet the precision specified. This is implemented for the GTO/BTO integrals.

◆ print_integrals

logical integral_storage_gbl::integral_options_obj::print_integrals = .false.

Request to print the evaluated integrals at the end of the calculation. This parameter is not saved to/read from the disk.

◆ scratch_directory

character(len=line_len) integral_storage_gbl::integral_options_obj::scratch_directory = ''

Defines scratch path for saving of intermediate results, see use_ylm_scratch and use_aoints_scratch.

◆ tol

real(kind=cfp) integral_storage_gbl::integral_options_obj::tol = int_del_thr

Threshold magnitude for the integrals: integrals with absolute values smaller than this will be zeroed out.

◆ two_p_continuum

logical integral_storage_gbl::integral_options_obj::two_p_continuum = .false.

If set to .true. then 2p integrals of the type [continuum,continuum|continuum,continuum] will be calculated. If set to .false. (default) then 2p integrals with only one particle in the continuum will be calculated.

◆ use_aoints_scratch

logical integral_storage_gbl::integral_options_obj::use_aoints_scratch = .false.

Map atomic two-electron integral array to scratch disk files.

◆ use_spherical_cgto_alg

logical integral_storage_gbl::integral_options_obj::use_spherical_cgto_alg = .false.

Set to .true. to use the CGTO-only integral algorithm based on the spherical CGTOs. This is numerically stable even for high L.

◆ use_transformation_scratch

logical integral_storage_gbl::integral_options_obj::use_transformation_scratch = .false.

Map intermediate and final transformed integral blocks to scratch disk files.

◆ use_ylm_scratch

logical integral_storage_gbl::integral_options_obj::use_ylm_scratch = .true.

If this variable is set to .true. then all intermediate integrals Y_lm needed for calculation of the BTO/GTO integrals will be saved to disk in the directory specified by scratch_directory.


The documentation for this type was generated from the following file: