GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis
111
|
Variables | |
integer, parameter | stdout = 6 |
unit for standard output More... | |
integer, parameter | stdin = 5 |
unit for standard input More... | |
integer, parameter | line_len = 132 |
length of one line More... | |
integer, parameter | len_ufmat = 11 |
character(len_ufmat-2), parameter | fmat = 'formatted' |
character(len_ufmat), parameter | ufmat = 'unformatted' |
character(len=19), parameter | no_header = 'No header specified' |
Default character string used for the int_input_outputheader variable. More... | |
character(len= *), parameter | cgto_overlap_kinetic_ints = 'Overlap and kinetic energy integrals for contracted spherical GTOs' |
Character parameters used by the method l_mol_basismolecular_integrals to identify the type of molecular integral requested. These headers are used by the user to request the specific integral. More... | |
character(len= *), parameter | cgto_cgto_two_el_ints = 'Two-electron integrals for contracted spherical GTOs' |
character(len= *), parameter | bto_overlap_kinetic_ints = 'Overlap and kinetic energy integrals for BTOs' |
character(len= *), parameter | cgto_bto_overlap_kinetic_ints = 'Overlap and kinetic energy integrals between contracted spherical GTOs and BTOs' |
character(len= *), parameter | cgto_cgto_bloch_terms = 'Matrix elements of the Bloch operator between contracted spherical CMS GTOs' |
character(len= *), parameter | cgto_bto_bloch_terms = 'Matrix elements of the Bloch operator between BTOs and contracted spherical CMS GTOs' |
character(len= *), parameter | bto_bto_bloch_terms = 'Matrix elements of the Bloch operator between BTOs' |
integer, parameter | tf_max_l = 6 |
translation_formula_obj: maximum principal quantum number for which we have the translation formulas. This is constant is also used as a maximum GTO L value in all integral calculations. More... | |
integer, parameter | tf_max_m = 6 |
translation_formula_obj: maximum azimuthal quantum number (corresponding to tf_max_l) for which we have the translation formulas. More... | |
integer, parameter | tf_max_n = 36 |
translation_formula_obj: number of terms in the longest translation formula from the ones that are included in translation_formula_obj More... | |
integer, parameter | max_contr_len = 10 |
Maximum allowed number of contraction coefficients defining the contracted GTO function. This parameter can be increased/decreased as needed. It is used throught the program to define dimensions of some arrays. More... | |
real(kind=wp), parameter | boys_tol_dprec = epsilon(1.0_wp) |
Convergence parameter for the calculation of the Boys function using boys_function. The convergence is chosen as the machine epsilon for double precision reals. More... | |
integer, parameter | boys_maxi_dprec = 140 |
Empirically found value for the largest power of T required to calculate the Boys function \(F_{m}(T)\) for \(T=0,\dots,60\) with the accuracy epsilon(1.0_wp). More... | |
real(kind=wp), parameter | boys_tol_qprec = epsilon(1.0_ep1) |
Convergence parameter for the calculation of the Boys function using boys_function_quad. The convergence is chosen as the machine epsilon for quad precision reals. More... | |
real(kind=wp), parameter | boys_f_dprec_asym_thr = 60.0_wp |
The Boys function calculated using the routine boys_function will be calculated using the asymptotic expansion if the input parameter T is .ge. this value. Note that this value was determined using Mathematica assuming tf_max_l = 6, i.e. mmax = 24 (see boys_function for details). For T=85 and mmax=24 the error in using the asymptotic expansion is not greater than ~3.10^-15. For T=60 the values of the Boys function for m .ge. 12 are .le. 10^{-16}. For m = 12 the relative precision of the asymptotic formula is ~10^{-14}. Therefore for T > 60 and double precision we can safely calculate the Boys function using the asymptotic expansion. It is also important to note that for T=60 the full numerical evaluation involving series fails in double precision for large mmax. Therefore increasing boys_f_dprec_asym_thr beyond 60 cannot go without modifying boys_function to branch into boys_function_quad for T>60 .and. T<boys_f_dprec_asym_thr in order to avoid numerical errors in this range of T. In general the larger the tf_max_l the larger the value of boys_f_dprec_asym_thr. Clearly, the numerical stability of boys_function effectively determines the limit on the largest GTO L in the basis: if large L are needed then boys_function_quad must be used (for certain range of T values) which is also much slower than boys_function. More... | |
real(kind=wp), parameter | boys_f_qprec_asym_thr = 140.0_wp |
See comment for boys_f_dprec_asym_thr. This value is the threshold for the use of the asymptotic expansion in the quadruple precision function boys_function_quad (assuming mmax=24). For T=140 the asymptotic formula gives results accurate to full quadruple precision. More... | |
real(kind=wp), parameter | int_rel_prec = 10d-10 |
Molecular integrals with relative precision last than or equal to this value will trigger an error. This parameter is used only as a default in integral_optionsprec, so this parameter can be effectively adjusted on run-time. More... | |
real(kind=wp), parameter | int_del_thr = 10d-11 |
Molecular integrals (contracted) smaller than this value will be neglected. Similarly to int_rel_prec this value is used only as a sensible default in integral_optionstol. More... | |
real(kind=wp), parameter | thrs_symm_ortho = 10d-6 |
Maximum allowed value for a cross overlap of two orbitals after the symmetric orthogonalization has been performed. More... | |
real(kind=wp), parameter | thrs_gs_ortho = 10d-10 |
Maximum allowed value for a cross overlap of two orbitals after the Gramm-Schmidt orthogonalization has been performed. More... | |
real(kind=wp), parameter | thrs_cf_sym_ortho_trans = 10d-10 |
Coefficients in the transformation matrix for the symmetric orthogonalization smaller than this value will be neglected. More... | |
real(kind=wp), parameter | thrs_lin_dep_gs_ortho = 10d-7 |
Threshold value for self-overlap of an orbital (before normalization) using during the Gramm-Schmidt orthogonalization. If an orbital has a self-overlap (before normalization) smaller than this value then we assume that linear dependency in the orbital basis is present. In other words we decide that self-overlaps smaller than this value would lead to numerical problems. More... | |
real(kind=wp), parameter | epsabs = 10d-10 |
Absolute precision for the numerical quadrature routine dqags. More... | |
real(kind=wp), parameter | epsrel = 10d-10 |
Relative precision for the numerical quadrature routine dqags. More... | |
integer, parameter | limit = 1000 |
Determines the maximum number of subintervals in the partition of the given integration interval in dqags. More... | |
integer, parameter | lenw = 4*LIMIT |
Dimensioning parameter for dqags. More... | |
integer, parameter | c1_id = 1 |
Numerical identifier of the C1 point group-symmetry. More... | |
integer, parameter | cs_id = 2 |
Numerical identifier of the Cs point group-symmetry. More... | |
integer, parameter | c2_id = 3 |
Numerical identifier of the C2 point group-symmetry. More... | |
integer, parameter | ci_id = 4 |
Numerical identifier of the Ci point group-symmetry. More... | |
integer, parameter | c2v_id = 5 |
Numerical identifier of the C2v point group-symmetry. More... | |
integer, parameter | c2h_id = 6 |
Numerical identifier of the C2h point group-symmetry. More... | |
integer, parameter | d2_id = 7 |
Numerical identifier of the D2 point group-symmetry. More... | |
integer, parameter | d2h_id = 8 |
Numerical identifier of the D2h point group-symmetry. More... | |
integer, parameter | nuc_nam_len = 2 |
Length of the character variable 'name' in the nucleus_type object. More... | |
integer, parameter | sym_op_nam_len = 3 |
Length of the character variable sym_op specifying the symmetry operation in the geometry_obj object. More... | |
real(kind=wp), parameter const::boys_f_dprec_asym_thr = 60.0_wp |
The Boys function calculated using the routine boys_function will be calculated using the asymptotic expansion if the input parameter T is .ge. this value. Note that this value was determined using Mathematica assuming tf_max_l = 6, i.e. mmax = 24 (see boys_function for details). For T=85 and mmax=24 the error in using the asymptotic expansion is not greater than ~3.10^-15. For T=60 the values of the Boys function for m .ge. 12 are .le. 10^{-16}. For m = 12 the relative precision of the asymptotic formula is ~10^{-14}. Therefore for T > 60 and double precision we can safely calculate the Boys function using the asymptotic expansion. It is also important to note that for T=60 the full numerical evaluation involving series fails in double precision for large mmax. Therefore increasing boys_f_dprec_asym_thr beyond 60 cannot go without modifying boys_function to branch into boys_function_quad for T>60 .and. T<boys_f_dprec_asym_thr in order to avoid numerical errors in this range of T. In general the larger the tf_max_l the larger the value of boys_f_dprec_asym_thr. Clearly, the numerical stability of boys_function effectively determines the limit on the largest GTO L in the basis: if large L are needed then boys_function_quad must be used (for certain range of T values) which is also much slower than boys_function.
real(kind=wp), parameter const::boys_f_qprec_asym_thr = 140.0_wp |
See comment for boys_f_dprec_asym_thr. This value is the threshold for the use of the asymptotic expansion in the quadruple precision function boys_function_quad (assuming mmax=24). For T=140 the asymptotic formula gives results accurate to full quadruple precision.
integer, parameter const::boys_maxi_dprec = 140 |
Empirically found value for the largest power of T required to calculate the Boys function \(F_{m}(T)\) for \(T=0,\dots,60\) with the accuracy epsilon(1.0_wp).
real(kind=wp), parameter const::boys_tol_dprec = epsilon(1.0_wp) |
Convergence parameter for the calculation of the Boys function using boys_function. The convergence is chosen as the machine epsilon for double precision reals.
real(kind=wp), parameter const::boys_tol_qprec = epsilon(1.0_ep1) |
Convergence parameter for the calculation of the Boys function using boys_function_quad. The convergence is chosen as the machine epsilon for quad precision reals.
character(len=*), parameter const::bto_bto_bloch_terms = 'Matrix elements of the Bloch operator between BTOs' |
character(len=*), parameter const::bto_overlap_kinetic_ints = 'Overlap and kinetic energy integrals for BTOs' |
integer, parameter const::c1_id = 1 |
Numerical identifier of the C1 point group-symmetry.
integer, parameter const::c2_id = 3 |
Numerical identifier of the C2 point group-symmetry.
integer, parameter const::c2h_id = 6 |
Numerical identifier of the C2h point group-symmetry.
integer, parameter const::c2v_id = 5 |
Numerical identifier of the C2v point group-symmetry.
character(len=*), parameter const::cgto_bto_bloch_terms = 'Matrix elements of the Bloch operator between BTOs and contracted spherical CMS GTOs' |
character(len=*), parameter const::cgto_bto_overlap_kinetic_ints = 'Overlap and kinetic energy integrals between contracted spherical GTOs and BTOs' |
character(len=*), parameter const::cgto_cgto_bloch_terms = 'Matrix elements of the Bloch operator between contracted spherical CMS GTOs' |
character(len=*), parameter const::cgto_cgto_two_el_ints = 'Two-electron integrals for contracted spherical GTOs' |
character(len=*), parameter const::cgto_overlap_kinetic_ints = 'Overlap and kinetic energy integrals for contracted spherical GTOs' |
Character parameters used by the method l_mol_basismolecular_integrals to identify the type of molecular integral requested. These headers are used by the user to request the specific integral.
integer, parameter const::ci_id = 4 |
Numerical identifier of the Ci point group-symmetry.
integer, parameter const::cs_id = 2 |
Numerical identifier of the Cs point group-symmetry.
integer, parameter const::d2_id = 7 |
Numerical identifier of the D2 point group-symmetry.
integer, parameter const::d2h_id = 8 |
Numerical identifier of the D2h point group-symmetry.
real(kind=wp), parameter const::epsabs = 10d-10 |
Absolute precision for the numerical quadrature routine dqags.
real(kind=wp), parameter const::epsrel = 10d-10 |
Relative precision for the numerical quadrature routine dqags.
character(len_ufmat-2), parameter const::fmat = 'formatted' |
real(kind=wp), parameter const::int_del_thr = 10d-11 |
Molecular integrals (contracted) smaller than this value will be neglected. Similarly to int_rel_prec this value is used only as a sensible default in integral_optionstol.
real(kind=wp), parameter const::int_rel_prec = 10d-10 |
Molecular integrals with relative precision last than or equal to this value will trigger an error. This parameter is used only as a default in integral_optionsprec, so this parameter can be effectively adjusted on run-time.
integer, parameter const::len_ufmat = 11 |
integer, parameter const::lenw = 4*LIMIT |
Dimensioning parameter for dqags.
integer, parameter const::limit = 1000 |
Determines the maximum number of subintervals in the partition of the given integration interval in dqags.
integer, parameter const::line_len = 132 |
length of one line
integer, parameter const::max_contr_len = 10 |
Maximum allowed number of contraction coefficients defining the contracted GTO function. This parameter can be increased/decreased as needed. It is used throught the program to define dimensions of some arrays.
character(len=19), parameter const::no_header = 'No header specified' |
Default character string used for the int_input_outputheader variable.
integer, parameter const::nuc_nam_len = 2 |
Length of the character variable 'name' in the nucleus_type object.
integer, parameter const::stdin = 5 |
unit for standard input
integer, parameter const::stdout = 6 |
unit for standard output
integer, parameter const::sym_op_nam_len = 3 |
Length of the character variable sym_op specifying the symmetry operation in the geometry_obj object.
integer, parameter const::tf_max_l = 6 |
translation_formula_obj: maximum principal quantum number for which we have the translation formulas. This is constant is also used as a maximum GTO L value in all integral calculations.
integer, parameter const::tf_max_m = 6 |
translation_formula_obj: maximum azimuthal quantum number (corresponding to tf_max_l) for which we have the translation formulas.
integer, parameter const::tf_max_n = 36 |
translation_formula_obj: number of terms in the longest translation formula from the ones that are included in translation_formula_obj
real(kind=wp), parameter const::thrs_cf_sym_ortho_trans = 10d-10 |
Coefficients in the transformation matrix for the symmetric orthogonalization smaller than this value will be neglected.
real(kind=wp), parameter const::thrs_gs_ortho = 10d-10 |
Maximum allowed value for a cross overlap of two orbitals after the Gramm-Schmidt orthogonalization has been performed.
real(kind=wp), parameter const::thrs_lin_dep_gs_ortho = 10d-7 |
Threshold value for self-overlap of an orbital (before normalization) using during the Gramm-Schmidt orthogonalization. If an orbital has a self-overlap (before normalization) smaller than this value then we assume that linear dependency in the orbital basis is present. In other words we decide that self-overlaps smaller than this value would lead to numerical problems.
real(kind=wp), parameter const::thrs_symm_ortho = 10d-6 |
Maximum allowed value for a cross overlap of two orbitals after the symmetric orthogonalization has been performed.
character(len_ufmat), parameter const::ufmat = 'unformatted' |