xtb_config_t Derived Type

type, public :: xtb_config_t

Configuration for semi-empirical xTB methods


Inherited by

type~~xtb_config_t~~InheritedByGraph type~xtb_config_t xtb_config_t type~method_config_t method_config_t type~method_config_t->type~xtb_config_t xtb type~driver_config_t driver_config_t type~driver_config_t->type~method_config_t method_config type~many_body_expansion_t many_body_expansion_t type~many_body_expansion_t->type~method_config_t method_config type~many_body_expansion_t->type~driver_config_t driver_config type~gmbe_context_t gmbe_context_t type~gmbe_context_t->type~many_body_expansion_t type~mbe_context_t mbe_context_t type~mbe_context_t->type~many_body_expansion_t

Components

Type Visibility Attributes Name Initial
real(kind=dp), public :: accuracy = 0.01_dp

Numerical accuracy parameter

integer, public :: cpcm_nang = 110

Angular grid points for CPCM

real(kind=dp), public :: cpcm_rscale = 1.0_dp

Radii scaling for CPCM

real(kind=dp), public :: dielectric = -1.0_dp

Dielectric constant (-1 = use solvent table)

real(kind=dp), public :: electronic_temp = 300.0_dp

Electronic temperature in Kelvin (Fermi smearing)

character(len=16), public :: solvation_model = ''

Solvation model: “alpb”, “gbsa”, “cpcm”

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

Solvent name: “water”, “ethanol”, etc. Empty for gas phase

logical, public :: use_cds = .true.

Include non-polar CDS terms

logical, public :: use_shift = .true.

Include solution state shift


Type-Bound Procedures

procedure, public :: configure => xtb_configure

  • private subroutine xtb_configure(this, use_cds, use_shift, dielectric, cpcm_nang, cpcm_rscale, solvent, solvation_model)

    Configure XTB solvation settings from driver configuration

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(xtb_config_t), intent(inout) :: this
    logical, intent(in) :: use_cds

    Include CDS non-polar terms

    logical, intent(in) :: use_shift

    Include solution state shift

    real(kind=dp), intent(in) :: dielectric

    Direct dielectric constant (-1 = use solvent lookup)

    integer, intent(in) :: cpcm_nang

    Angular grid points for CPCM

    real(kind=dp), intent(in) :: cpcm_rscale

    Radii scaling for CPCM

    character(len=*), intent(in), optional :: solvent

    Solvent name

    character(len=*), intent(in), optional :: solvation_model

    Solvation model name

procedure, public :: get_solvation_info => xtb_get_solvation_info

  • private subroutine xtb_get_solvation_info(this, info_lines, n_lines)

    Get solvation configuration info for logging

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(xtb_config_t), intent(in) :: this
    character(len=128), intent(out) :: info_lines(4)

    Up to 4 lines of info

    integer, intent(out) :: n_lines

    Number of lines populated

procedure, public :: has_solvation => xtb_has_solvation

  • private pure function xtb_has_solvation(this)

    Check if solvation is configured for XTB

    Arguments

    Type IntentOptional Attributes Name
    class(xtb_config_t), intent(in) :: this

    Return Value logical

Source Code

   type :: xtb_config_t
      !! Configuration for semi-empirical xTB methods
      real(dp) :: accuracy = 0.01_dp
         !! Numerical accuracy parameter
      real(dp) :: electronic_temp = 300.0_dp
         !! Electronic temperature in Kelvin (Fermi smearing)

      ! Solvation
      character(len=32) :: solvent = ''
         !! Solvent name: "water", "ethanol", etc. Empty for gas phase
      character(len=16) :: solvation_model = ''
         !! Solvation model: "alpb", "gbsa", "cpcm"
      logical :: use_cds = .true.
         !! Include non-polar CDS terms
      logical :: use_shift = .true.
         !! Include solution state shift
      real(dp) :: dielectric = -1.0_dp
         !! Dielectric constant (-1 = use solvent table)
      integer :: cpcm_nang = 110
         !! Angular grid points for CPCM
      real(dp) :: cpcm_rscale = 1.0_dp
         !! Radii scaling for CPCM
   contains
      procedure :: has_solvation => xtb_has_solvation
      procedure :: configure => xtb_configure
      procedure :: get_solvation_info => xtb_get_solvation_info
   end type xtb_config_t