ps_Projector_Get Subroutine

public subroutine ps_Projector_Get(ps, i, l, j, seq, set, ekb, eref, type, annotation, func)

Arguments

Type IntentOptional AttributesName
type(ps_t), intent(in), target:: ps
integer, intent(in) :: i
integer, intent(out), optional :: l
real(kind=dp), intent(out), optional :: j
integer, intent(out), optional :: seq
integer, intent(out), optional :: set
real(kind=dp), intent(out), optional :: ekb
real(kind=dp), intent(out), optional :: eref
character(len=*), intent(out), optional :: type
type(ps_annotation_t), intent(out), optional :: annotation
type(ps_radfunc_t), intent(out), optional :: func

Contents

Source Code


Source Code

subroutine ps_Projector_Get(ps,i,&
            l,j,seq,set,ekb,eref,type,annotation,func)
type(ps_t), intent(in), target    :: ps
integer,   intent(in)             :: i
integer, intent(out), optional    :: set
integer, intent(out), optional    :: l
real(dp), intent(out), optional    :: j
integer, intent(out), optional    :: seq
real(dp), intent(out), optional    :: ekb
real(dp), intent(out), optional    :: eref
character(len=*), intent(out), optional    :: type
type(ps_annotation_t), intent(out), optional :: annotation
type(ps_radfunc_t), intent(out), optional    :: func

type(nl_table_t), pointer :: q(:)
q => ps%nl_table

call check_index(i,size(q),"NL pot")
if (present(set)) then
   set = q(i)%p%set
endif
if (present(l)) then
   l = l_of_sym(q(i)%p%l,"NL pot")
endif
if (present(seq)) then
   seq = q(i)%p%seq
endif
if (present(j)) then
   if (q(i)%p%j < 0.0) then
      j = -1.0_dp
      ! Maybe optional status flag raised?
   else
      j = q(i)%p%j
   endif
endif
if (present(ekb)) then
   ekb = q(i)%p%ekb
endif
if (present(eref)) then
   ! Will return a very large positive value if the attribute eref is not
   ! present in the file
   eref = q(i)%p%eref
endif
if (present(type)) then
   type = q(i)%p%type
endif
if (present(annotation)) then
   annotation = q(i)%p%parent_group%annotation
endif
if (present(func)) then
   func = q(i)%p%proj
endif
end subroutine ps_Projector_Get