Implements the Hartree-Fock quantum chemistry method Provides energy and gradient calculations using a basic SCF procedure.
Hartree-Fock method implementation
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(hf_options_t), | public | :: | options |
| procedure, public :: calc_energy => hf_calc_energy | |
| procedure, public :: calc_gradient => hf_calc_gradient | |
| procedure, public :: calc_hessian => null_hessian | Placeholder for Hessian calculation |
Hartree-Fock calculation options
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=32), | public | :: | basis_set | = | 'sto-3g' |
Basis set name |
|
| real(kind=dp), | public | :: | conv_tol | = | 1.0e-8_dp |
Energy convergence threshold |
|
| real(kind=dp), | public | :: | density_tol | = | 1.0e-6_dp |
Density matrix convergence threshold |
|
| integer, | public | :: | diis_size | = | 8 |
Number of Fock matrices for DIIS |
|
| integer, | public | :: | max_iter | = | 100 |
Maximum SCF iterations |
|
| logical, | public | :: | spherical | = | .true. |
Use spherical (true) or Cartesian (false) basis |
|
| logical, | public | :: | use_diis | = | .true. |
Use DIIS acceleration |
|
| logical, | public | :: | verbose | = | .false. |
Print SCF iterations |
Calculate electronic energy using Hartree-Fock method
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(hf_method_t), | intent(in) | :: | this | |||
| type(physical_fragment_t), | intent(in) | :: | fragment | |||
| type(calculation_result_t), | intent(out) | :: | result |
Calculate energy gradient using Hartree-Fock method
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(hf_method_t), | intent(in) | :: | this | |||
| type(physical_fragment_t), | intent(in) | :: | fragment | |||
| type(calculation_result_t), | intent(out) | :: | result |
Placeholder for Hessian calculation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(hf_method_t), | intent(in) | :: | this | |||
| type(physical_fragment_t), | intent(in) | :: | fragment | |||
| type(calculation_result_t), | intent(out) | :: | result |