subroutine ps_ValenceCharge_Get(ps,total_charge,&
is_unscreening_charge, rescaled_to_z_pseudo,&
annotation,func)
type(ps_t), intent(in) :: ps
real(dp), intent(out), optional :: total_charge
character(len=*), intent(out), optional :: is_unscreening_charge
character(len=*), intent(out), optional :: rescaled_to_z_pseudo
type(ps_annotation_t), intent(out), optional :: annotation
type(ps_radfunc_t), intent(out), optional :: func
if (present(total_charge)) then
total_charge = ps%valence_charge%total_charge
endif
if (present(is_unscreening_charge)) then
is_unscreening_charge = ps%valence_charge%is_unscreening_charge
endif
if (present(rescaled_to_z_pseudo)) then
rescaled_to_z_pseudo = ps%valence_charge%rescaled_to_z_pseudo
endif
if (present(annotation)) then
annotation = ps%valence_charge%annotation
endif
if (present(func)) then
func = ps%valence_charge%rho_val
endif
end subroutine ps_ValenceCharge_Get