Configure XTB solvation settings from driver configuration
Sets up all XTB-specific parameters and applies default solvation model logic (alpb if solvent or dielectric is specified but no model given).
| Type | Intent | Optional | 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 |
subroutine xtb_configure(this, use_cds, use_shift, dielectric, cpcm_nang, cpcm_rscale, solvent, solvation_model) !! Configure XTB solvation settings from driver configuration !! !! Sets up all XTB-specific parameters and applies default solvation model !! logic (alpb if solvent or dielectric is specified but no model given). 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(dp), intent(in) :: dielectric !! Direct dielectric constant (-1 = use solvent lookup) integer, intent(in) :: cpcm_nang !! Angular grid points for CPCM real(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 this%use_cds = use_cds this%use_shift = use_shift this%dielectric = dielectric this%cpcm_nang = cpcm_nang this%cpcm_rscale = cpcm_rscale if (present(solvent)) this%solvent = solvent if (present(solvation_model)) then this%solvation_model = solvation_model else if (len_trim(this%solvent) > 0 .or. dielectric > 0.0_dp) then this%solvation_model = 'alpb' ! Default solvation model end if end subroutine xtb_configure