Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(kind=c_char, len=1), | public | :: | XC_functional_name(20) | ||||
real(kind=c_double), | public | :: | hfscale | = | 1.0_dp | ||
real(kind=c_double), | public | :: | cam_alpha | = | 0.0_dp | ||
real(kind=c_double), | public | :: | cam_beta | = | 0.0_dp | ||
real(kind=c_double), | public | :: | cam_mu | = | 0.0_dp | ||
real(kind=c_double), | public | :: | MP2SS_Scale | = | 0.0_dp | ||
real(kind=c_double), | public | :: | MP2OS_Scale | = | 0.0_dp | ||
logical(kind=c_bool), | public | :: | cam_flag | = | .false. | ||
logical(kind=c_bool), | public | :: | dh_flag | = | .false. | ||
logical(kind=c_bool), | public | :: | grid_pruned | = | .false. | ||
logical(kind=c_bool), | public | :: | grid_ao_pruned | = | .true. | ||
real(kind=c_double), | public | :: | grid_ao_threshold | = | 0.0_dp | ||
real(kind=c_double), | public | :: | grid_ao_sparsity_ratio | = | 0.9_dp | ||
character(len=c_char), | public | :: | grid_pruned_name(16) | = | '' | ||
integer(kind=c_int64_t), | public | :: | grid_num_ang_grids | = | 0 | ||
integer(kind=c_int64_t), | public | :: | grid_rad_size | = | 96 | ||
integer(kind=c_int64_t), | public | :: | grid_ang_size | = | 302 | ||
real(kind=c_double), | public | :: | grid_density_cutoff | = | 0.0d0 | ||
integer(kind=c_int64_t), | public | :: | dft_partfun | = | 0 | ||
integer(kind=c_int64_t), | public | :: | rad_grid_type | = | 0 | ||
integer(kind=c_int64_t), | public | :: | dft_bfc_algo | = | 0 | ||
logical(kind=c_bool), | public | :: | dft_wt_der | = | .false. |
type, public, bind(C) :: dft_parameters character(kind=c_char) :: XC_functional_name(20) !< Name of XC functional real(c_double) :: hfscale = 1.0_dp !< HF scale for global hybrids real(c_double) :: cam_alpha = 0.0_dp !< alpha coefficient real(c_double) :: cam_beta = 0.0_dp !< beta coefficient real(c_double) :: cam_mu = 0.0_dp !< mu coefficient real(c_double) :: MP2SS_Scale = 0.0_dp !< coefficient of non-local MP2 same-spin correlation real(c_double) :: MP2OS_Scale = 0.0_dp !< coefficient of non-local MP2 opposite-spin correlation logical(c_bool) :: cam_flag = .false. !< switch Coulomb-Attenuating Method (CAM-) \frac{1}{r_{12}} = \frac{1-[cam_{alpha}+cam_{beta}*\erf(cam_{mu}*r_{12})]}{r_{12}} + \frac{cam_{alpha}+cam_{beta}*\erf(cam_{mu}*r_{12})}{r_{12}} logical(c_bool) :: dh_flag = .false. !< logical flag of using DH-DFT functionals logical(c_bool) :: grid_pruned = .false. !< true if pruned grid (e.g. sg1) is used logical(c_bool) :: grid_ao_pruned = .true. !< true if grid is pruned by AO distance real(c_double) :: grid_ao_threshold = 0.0_dp !< Prune grid AOs with threshold real(c_double) :: grid_ao_sparsity_ratio = 0.9_dp !< Prune grid AOs if sparsity exceeds 10% character(c_char) :: grid_pruned_name(16) = '' !< prune grid name integer(c_int64_t) :: grid_num_ang_grids = 0 !< number of angular grids, >1 means pruned grid integer(c_int64_t) :: grid_rad_size = 96 !< number of radial grid pts. integer(c_int64_t) :: grid_ang_size = 302 !< number of angular grid pts. real(c_double) :: grid_density_cutoff = 0.0d0 !< grid DFT density cutoff integer(c_int64_t) :: dft_partfun = 0 !< partition function type in grid-based DFT !< - 0 (default) - SSF original polynomial !< - 1 - Becke's 4th degree polynomial !< - 2 - Modified SSF ( erf(x/(1-x**2)) ) !< - 3 - Modified SSF (smoothstep-2, 5th order) !< - 4 - Modified SSF (smoothstep-3, 7rd order) !< - 5 - Modified SSF (smoothstep-4, 9th order) !< - 6 - Modified SSF (smoothstep-5,11th order) !< Note: Becke's polynomial with 1 iteration is actually !< a smoothstep-1 polynomial (3*x**2 - 2*x**3) integer(c_int64_t) :: rad_grid_type = 0 !< type of the radial grid in DFT: !< - 0 (default) - Euler-Maclaurin grid (Murray et al.) !< - 1 - Log3 grid (Mura and Knowles) !< - 2 - Treutler and Ahlrichs radial grid !< - 3 - Becke's grid integer(c_int64_t) :: dft_bfc_algo = 0 !< type of the Becke's fuzzy cell method !< - 0 (default) - SSF-like algorithm !< - 1 - Becke's algorithm logical(c_bool) :: dft_wt_der = .false. !< .TRUE. if quadrature weights derivative !< contribution to the nuclear gradient is needed !< Weight derivatives are not always required, !< especially if the fine grid is used end type dft_parameters