ps_PseudoAtomSpec_Get Subroutine

public subroutine ps_PseudoAtomSpec_Get(ps, atomic_symbol, atomic_label, atomic_number, z_pseudo, pseudo_flavor, relativity, spin_dft, core_corrections, annotation)

Arguments

Type IntentOptional AttributesName
type(ps_t), intent(in) :: ps
character(len=*), intent(out), optional :: atomic_symbol
character(len=*), intent(out), optional :: atomic_label
real(kind=dp), intent(out), optional :: atomic_number
real(kind=dp), intent(out), optional :: z_pseudo
character(len=*), intent(out), optional :: pseudo_flavor
character(len=*), intent(out), optional :: relativity
logical, intent(out), optional :: spin_dft
logical, intent(out), optional :: core_corrections
type(ps_annotation_t), intent(out), optional :: annotation

Contents

Source Code


Source Code

subroutine ps_PseudoAtomSpec_Get(ps,atomic_symbol, atomic_label, &
     atomic_number, z_pseudo, pseudo_flavor,&
     relativity, spin_dft, core_corrections, annotation)
  
  type(ps_t), intent(in) :: ps
  
  character(len=*), intent(out), optional :: atomic_symbol
  character(len=*), intent(out), optional :: atomic_label
  real(dp), intent(out), optional         :: atomic_number
  real(dp), intent(out), optional         :: z_pseudo
  character(len=*), intent(out), optional :: pseudo_flavor
  character(len=*), intent(out), optional :: relativity
  logical, intent(out), optional          :: spin_dft
  logical, intent(out), optional          :: core_corrections
  type(ps_annotation_t), intent(out), optional :: annotation

  if (present(atomic_symbol)) then
     atomic_symbol = ps%header%atomic_label(1:2)
  endif
  
  if (present(atomic_label)) then
     atomic_label = trim(ps%header%atomic_label)
  endif

  if (present(atomic_number)) then
     atomic_number = ps%header%z
  endif
  
  if (present(z_pseudo)) then
     z_pseudo = ps%header%zpseudo
  endif
  
  if (present(pseudo_flavor)) then
     pseudo_flavor = trim(ps%header%flavor)
  endif

  if (present(relativity)) then
     relativity = trim(ps%header%relativity)
  endif

  if (present(spin_dft)) then
     spin_dft = ps%header%polarized
  endif

  if (present(core_corrections)) then
     core_corrections = (ps%header%core_corrections == "yes")
  endif

  if (present(annotation)) then
     annotation = ps%header%annotation
  endif

end subroutine ps_PseudoAtomSpec_Get