22 use,
intrinsic :: iso_fortran_env
71 integer,
parameter,
public :: &
72 PSEUDO_TYPE_ULTRASOFT = 30, &
77 integer,
parameter,
public :: &
78 PSEUDO_STATUS_SUCCESS = 0, &
86 integer,
parameter,
public :: &
87 PSEUDO_FORMAT_FILE_NOT_FOUND = 773, &
101 integer,
parameter,
public :: &
102 PSEUDO_EXCHANGE_UNKNOWN = -2, &
105 integer,
parameter,
public :: &
106 PSEUDO_CORRELATION_UNKNOWN = -2, &
111 integer(int64) :: dummy
123 character(kind=c_char),
intent(in) :: filename(*)
128 subroutine pseudo_init(pseudo, filename, fmt, ierr)
133 type(pseudo_t),
intent(out) :: pseudo
134 character(kind=c_char),
intent(in) :: filename(*)
135 integer,
intent(in) :: fmt
136 integer,
intent(out) :: ierr
145 type(
pseudo_t),
intent(inout) :: pseudo
154 type(
pseudo_t),
intent(in) :: pseudo
163 type(
pseudo_t),
intent(in) :: pseudo
192 type(
pseudo_t),
intent(in) :: pseudo
202 type(
pseudo_t),
intent(in) :: pseudo
211 type(
pseudo_t),
intent(in) :: pseudo
220 type(
pseudo_t),
intent(in) :: pseudo
229 type(
pseudo_t),
intent(in) :: pseudo
238 type(
pseudo_t),
intent(in) :: pseudo
247 type(
pseudo_t),
intent(in) :: pseudo
248 integer,
intent(in) :: l
258 type(
pseudo_t),
intent(in) :: pseudo
259 real(real64),
intent(out) :: grid
270 real(real64),
intent(out) :: weight
280 type(
pseudo_t),
intent(in) :: pseudo
281 real(real64),
intent(out) :: local_potential
291 type(
pseudo_t),
intent(in) :: pseudo
292 integer,
intent(in) :: l
293 integer,
intent(in) :: ic
294 real(real64),
intent(out) :: projector
299 real(real64) function
pseudo_dij(pseudo, l, ic, jc)
304 type(
pseudo_t),
intent(in) :: pseudo
305 integer,
intent(in) :: l
306 integer,
intent(in) :: ic
307 integer,
intent(in) :: jc
312 real(real64) function
pseudo_qij(pseudo, l, ic, jc)
317 type(
pseudo_t),
intent(in) :: pseudo
318 integer,
intent(in) :: l
319 integer,
intent(in) :: ic
320 integer,
intent(in) :: jc
329 type(
pseudo_t),
intent(in) :: pseudo
339 type(
pseudo_t),
intent(in) :: pseudo
340 integer,
intent(in) :: i
341 integer,
intent(in) :: j
342 integer,
intent(in) :: ltot
343 real(real64),
intent(out) :: augmentation
353 type(
pseudo_t),
intent(in) :: pseudo
354 integer,
intent(in) :: l
355 real(real64),
intent(inout) :: radial_potential
365 type(
pseudo_t),
intent(in) :: pseudo
366 integer,
intent(in) :: l
367 real(real64),
intent(out) :: radial_function
377 type(
pseudo_t),
intent(in) :: pseudo
378 real(real64),
intent(out) :: nlcc_density
388 type(
pseudo_t),
intent(in) :: pseudo
389 real(real64),
intent(out) :: density
398 type(
pseudo_t),
intent(in) :: pseudo
408 type(
pseudo_t),
intent(in) :: pseudo
409 integer,
intent(in) :: index
410 integer,
intent(out) :: n
411 integer,
intent(out) :: l
412 real(real64),
intent(out) :: occ
413 real(real64),
intent(out) :: wf
422 type(
pseudo_t),
intent(in) :: pseudo
431 type(
pseudo_t),
intent(in) :: pseudo
440 type(
pseudo_t),
intent(in) :: pseudo
441 integer,
intent(in) :: l
442 integer,
intent(in) :: ic
451 type(
pseudo_t),
intent(in) :: pseudo
452 integer,
intent(in) :: ii
462 type(
pseudo_t),
intent(in) :: pseudo
465 integer function pseudo_has_nlcc_low(pseudo)
469 type(
pseudo_t),
intent(in) :: pseudo
470 end function pseudo_has_nlcc_low
480 type(
pseudo_t),
intent(in) :: pseudo
483 integer function pseudo_has_density_low(pseudo)
487 type(
pseudo_t),
intent(in) :: pseudo
488 end function pseudo_has_density_low
502 integer function pseudo_has_qij_integrals_low(pseudo)
506 type(
pseudo_t),
intent(in) :: pseudo
507 end function pseudo_has_qij_integrals_low
518 type(
pseudo_t),
intent(in) :: pseudo
521 integer function pseudo_has_radial_augmentation_low(pseudo)
525 type(
pseudo_t),
intent(in) :: pseudo
526 end function pseudo_has_radial_augmentation_low
537 type(
pseudo_t),
intent(in) :: pseudo
540 integer function pseudo_radial_augmentation_has_angular_channels_low(pseudo)
544 type(
pseudo_t),
intent(in) :: pseudo
545 end function pseudo_radial_augmentation_has_angular_channels_low
549 (pseudo_radial_augmentation_has_angular_channels_low(pseudo) /= 0)
557 type(
pseudo_t),
intent(in) :: pseudo
560 integer pure function pseudo_has_total_angular_momentum_low(pseudo)
564 type(
pseudo_t),
intent(in) :: pseudo
565 end function pseudo_has_total_angular_momentum_low
575 type(
pseudo_t),
intent(in) :: pseudo
576 integer,
intent(in) :: l
579 integer function pseudo_has_radial_function_low(pseudo, l)
583 type(
pseudo_t),
intent(in) :: pseudo
584 integer,
intent(in) :: l
585 end function pseudo_has_radial_function_low
integer, parameter, public pseudo_type_kleinman_bylander
logical function, public pseudo_has_radial_function(pseudo, l)
integer, parameter, public pseudo_format_qso
logical function, public pseudo_has_density(pseudo)
integer, parameter, public pseudo_format_hgh
integer, parameter, public pseudo_format_upf2
logical function, public pseudo_has_radial_augmentation(pseudo)
integer, parameter, public pseudo_type_paw
logical function, public pseudo_has_nlcc(pseudo)
integer, parameter, public pseudo_format_cpi
integer, parameter, public pseudo_status_unsupported_type
integer, parameter, public pseudo_status_file_not_found
integer, parameter, public pseudo_type_semilocal
logical function, public pseudo_has_qij_integrals(pseudo)
integer, parameter, public pseudo_format_psp8
integer, parameter, public pseudo_status_unsupported_type_ultrasoft
logical function, public pseudo_radial_augmentation_has_angular_channels(pseudo)
logical pure function, public pseudo_has_total_angular_momentum(pseudo)
integer, parameter, public pseudo_format_psf
integer, parameter, public pseudo_status_unknown_format
integer, parameter, public pseudo_status_unsupported_type_paw
integer, parameter, public pseudo_format_fhi
integer, parameter, public pseudo_correlation_any
integer, parameter, public pseudo_format_upf1
integer, parameter, public pseudo_format_unknown
integer, parameter, public pseudo_status_format_not_supported
integer, parameter, public pseudo_exchange_any
integer, parameter, public pseudo_format_psml