Get solvation configuration info for logging
Returns array of info strings describing the solvation setup. If no solvation is configured, n_lines = 0.
| Type | Intent | Optional | 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 |
subroutine xtb_get_solvation_info(this, info_lines, n_lines) !! Get solvation configuration info for logging !! !! Returns array of info strings describing the solvation setup. !! If no solvation is configured, n_lines = 0. use pic_io, only: to_char 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 n_lines = 0 info_lines = '' if (.not. this%has_solvation()) return n_lines = 1 if (trim(this%solvation_model) == 'cpcm') then if (this%dielectric > 0.0_dp) then info_lines(1) = "XTB solvation enabled: cpcm with dielectric = "//to_char(this%dielectric) else info_lines(1) = "XTB solvation enabled: cpcm with "//trim(this%solvent) end if n_lines = 3 info_lines(2) = " CPCM grid points (nang): "//to_char(this%cpcm_nang) info_lines(3) = " CPCM radii scale: "//to_char(this%cpcm_rscale) else info_lines(1) = "XTB solvation enabled: "//trim(this%solvation_model)//" with "//trim(this%solvent) if (this%use_cds) then n_lines = n_lines + 1 info_lines(n_lines) = " CDS (non-polar) terms: enabled" end if if (this%use_shift) then n_lines = n_lines + 1 info_lines(n_lines) = " Solution state shift: enabled" end if end if end subroutine xtb_get_solvation_info