xtb_method_t Derived Type

type, public, extends(qc_method_t) :: xtb_method_t

Extended Tight-Binding (xTB) method implementation

Concrete implementation of the abstract quantum chemistry method interface for GFN1-xTB and GFN2-xTB calculations via tblite.


Inherits

type~~xtb_method_t~~InheritsGraph type~xtb_method_t xtb_method_t type~qc_method_t qc_method_t type~xtb_method_t->type~qc_method_t

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: accuracy = 0.01_wp

Numerical accuracy parameter

integer, public :: cpcm_nang = 110

Number of angular points for CPCM cavity

real(kind=wp), public :: cpcm_rscale = 1.0_wp

Radii scaling for CPCM cavity

real(kind=wp), public :: dielectric = -1.0_wp

Direct dielectric constant (-1 = use solvent lookup)

real(kind=wp), public :: kt = 300.0_wp*3.166808578545117e-06_wp

Electronic temperature (300 K)

character(len=:), public, allocatable :: solvation_model

“alpb” (default), “gbsa”, or “cpcm”

character(len=:), public, allocatable :: solvent

Solvent name: “water”, “ethanol”, etc.

logical, public :: use_cds = .true.

Include non-polar CDS terms (not for CPCM)

logical, public :: use_shift = .true.

Include solution state shift (not for CPCM)

character(len=:), public, allocatable :: variant

XTB variant: “gfn1” or “gfn2”

logical, public :: verbose = .false.

Print calculation details


Type-Bound Procedures

procedure, public :: calc_energy => xtb_calc_energy

Energy-only calculation

procedure, public :: calc_gradient => xtb_calc_gradient

Energy + gradient calculation

procedure, public :: calc_hessian => xtb_calc_hessian

Placeholder for Hessian calculation

Source Code

   type, extends(qc_method_t) :: xtb_method_t
      !! Extended Tight-Binding (xTB) method implementation
      !!
      !! Concrete implementation of the abstract quantum chemistry method
      !! interface for GFN1-xTB and GFN2-xTB calculations via tblite.
      character(len=:), allocatable :: variant  !! XTB variant: "gfn1" or "gfn2"
      logical :: verbose = .false.              !! Print calculation details
      real(wp) :: accuracy = 0.01_wp            !! Numerical accuracy parameter
      real(wp) :: kt = 300.0_wp*3.166808578545117e-06_wp  !! Electronic temperature (300 K)
      ! Solvation settings (leave solvent unallocated for gas phase)
      character(len=:), allocatable :: solvent  !! Solvent name: "water", "ethanol", etc.
      character(len=:), allocatable :: solvation_model  !! "alpb" (default), "gbsa", or "cpcm"
      logical :: use_cds = .true.               !! Include non-polar CDS terms (not for CPCM)
      logical :: use_shift = .true.             !! Include solution state shift (not for CPCM)
      ! CPCM-specific settings
      real(wp) :: dielectric = -1.0_wp          !! Direct dielectric constant (-1 = use solvent lookup)
      integer :: cpcm_nang = 110                !! Number of angular points for CPCM cavity
      real(wp) :: cpcm_rscale = 1.0_wp          !! Radii scaling for CPCM cavity
   contains
      procedure :: calc_energy => xtb_calc_energy      !! Energy-only calculation
      procedure :: calc_gradient => xtb_calc_gradient  !! Energy + gradient calculation
      procedure :: calc_hessian => xtb_calc_hessian  !! Placeholder for Hessian calculation
   end type xtb_method_t