dft_options_t Derived Type

type, public :: dft_options_t

DFT calculation options


Inherited by

type~~dft_options_t~~InheritedByGraph type~dft_options_t dft_options_t type~dft_method_t dft_method_t type~dft_method_t->type~dft_options_t options

Components

Type Visibility Attributes Name Initial
integer, public :: angular_points = 302

Number of angular grid points (Lebedev)

character(len=32), public :: aux_basis_set = ''

Auxiliary basis set for density fitting

character(len=32), public :: basis_set = 'sto-3g'

Basis set name

real(kind=dp), public :: density_tol = 1.0e-6_dp

Density matrix convergence threshold

integer, public :: diis_size = 8

Number of Fock matrices in DIIS

character(len=8), public :: dispersion_type = 'd3bj'

Dispersion type: “d3”, “d3bj”, “d4”

real(kind=dp), public :: energy_tol = 1.0e-8_dp

Energy convergence threshold

character(len=32), public :: functional = 'b3lyp'

Exchange-correlation functional

character(len=16), public :: grid_type = 'medium'

Integration grid quality

integer, public :: max_iter = 100

Maximum SCF iterations

integer, public :: radial_points = 75

Number of radial grid points per atom

logical, public :: spherical = .true.

Use spherical (true) or Cartesian (false) basis

logical, public :: use_density_fitting = .false.

Use RI-J approximation

logical, public :: use_diis = .true.

Use DIIS for SCF convergence

logical, public :: use_dispersion = .false.

Add empirical dispersion correction

logical, public :: verbose = .false.

Print SCF iterations


Source Code

   type :: dft_options_t
      !! DFT calculation options
      character(len=32) :: basis_set = 'sto-3g'
         !! Basis set name
      character(len=32) :: functional = 'b3lyp'
         !! Exchange-correlation functional
      integer :: max_iter = 100
         !! Maximum SCF iterations
      real(dp) :: energy_tol = 1.0e-8_dp
         !! Energy convergence threshold
      real(dp) :: density_tol = 1.0e-6_dp
         !! Density matrix convergence threshold
      logical :: spherical = .true.
         !! Use spherical (true) or Cartesian (false) basis
      logical :: verbose = .false.
         !! Print SCF iterations

      ! Grid settings
      character(len=16) :: grid_type = 'medium'
         !! Integration grid quality
      integer :: radial_points = 75
         !! Number of radial grid points per atom
      integer :: angular_points = 302
         !! Number of angular grid points (Lebedev)

      ! Density fitting
      logical :: use_density_fitting = .false.
         !! Use RI-J approximation
      character(len=32) :: aux_basis_set = ''
         !! Auxiliary basis set for density fitting

      ! Dispersion correction
      logical :: use_dispersion = .false.
         !! Add empirical dispersion correction
      character(len=8) :: dispersion_type = 'd3bj'
         !! Dispersion type: "d3", "d3bj", "d4"

      ! DIIS acceleration
      logical :: use_diis = .true.
         !! Use DIIS for SCF convergence
      integer :: diis_size = 8
         !! Number of Fock matrices in DIIS
   end type dft_options_t