Shared settings for all post-HF correlation methods
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=32), | public | :: | aux_basis | = | '' |
Auxiliary basis for RI (e.g., “cc-pvdz-ri”, “cc-pvtz-ri”) |
|
| real(kind=dp), | public | :: | energy_convergence | = | 1.0e-8_dp |
Correlation energy convergence threshold |
|
| logical, | public | :: | freeze_core | = | .true. |
Whether to freeze core orbitals |
|
| character(len=16), | public | :: | local_type | = | 'dlpno' |
Local correlation type: “pno”, “dlpno”, “lmp2”, “lno” |
|
| integer, | public | :: | n_frozen_core | = | -1 |
Number of frozen core orbitals (-1 = auto from elements) |
|
| real(kind=dp), | public | :: | pno_threshold | = | 1.0e-7_dp |
PNO occupation threshold for truncation |
|
| real(kind=dp), | public | :: | scs_os | = | 1.2_dp |
Opposite-spin scaling factor (default: 6/5 for SCS-MP2) |
|
| real(kind=dp), | public | :: | scs_ss | = | 1.0_dp/3.0_dp |
Same-spin scaling factor (default: 1/3 for SCS-MP2) |
|
| logical, | public | :: | use_df | = | .true. |
Use density fitting (RI) for correlation integrals |
|
| logical, | public | :: | use_local | = | .false. |
Use local correlation approximation |
|
| logical, | public | :: | use_scs | = | .false. |
Use spin-component scaled MP2 |
type :: correlation_config_t !! Shared settings for all post-HF correlation methods real(dp) :: energy_convergence = 1.0e-8_dp !! Correlation energy convergence threshold ! Frozen core integer :: n_frozen_core = -1 !! Number of frozen core orbitals (-1 = auto from elements) logical :: freeze_core = .true. !! Whether to freeze core orbitals ! Density fitting for correlation logical :: use_df = .true. !! Use density fitting (RI) for correlation integrals character(len=32) :: aux_basis = '' !! Auxiliary basis for RI (e.g., "cc-pvdz-ri", "cc-pvtz-ri") ! Local correlation logical :: use_local = .false. !! Use local correlation approximation character(len=16) :: local_type = 'dlpno' !! Local correlation type: "pno", "dlpno", "lmp2", "lno" real(dp) :: pno_threshold = 1.0e-7_dp !! PNO occupation threshold for truncation ! Spin-component scaling (for MP2) logical :: use_scs = .false. !! Use spin-component scaled MP2 real(dp) :: scs_ss = 1.0_dp/3.0_dp !! Same-spin scaling factor (default: 1/3 for SCS-MP2) real(dp) :: scs_os = 1.2_dp !! Opposite-spin scaling factor (default: 6/5 for SCS-MP2) end type correlation_config_t