Refactoring output partial charges in scf.F90
The following block should not be done in scf.F90
SAFE_ALLOCATE(hirshfeld_charges(1:ions%natoms))
call partial_charges_calculate(gr, st, ions, hirshfeld_charges)
if(mpi_grp_is_root(mpi_world)) then
write(iunit,'(a)') 'Partial ionic charges'
write(iunit,'(a)') ' Ion Hirshfeld'
do iatom = 1, ions%natoms
write(iunit,'(i4,a10,f16.3)') iatom, trim(species_label(ions%atom(iatom)%species)), hirshfeld_charges(iatom)
end do
end if
SAFE_DEALLOCATE_A(hirshfeld_charges)
If this is moved to the hirshfeld.F90, we can drop the dependence on the species_m module in scf_m.