41 class(mesh_t),
intent(in) :: mesh
42 type(states_elec_t),
intent(in) :: st
43 type(ions_t),
intent(in) :: ions
44 real(real64),
intent(out) :: hirshfeld_charges(:)
47 type(hirshfeld_t) :: hirshfeld
52 call hirshfeld_init(hirshfeld, mesh, ions%namespace, ions%space, ions%latt, ions%atom, ions%natoms, ions%pos, st%d%nspin)
54 do iatom = 1, ions%natoms
55 call hirshfeld_charge(hirshfeld, ions%space, iatom, st%rho, hirshfeld_charges(iatom))
subroutine, public hirshfeld_init(this, mesh, namespace, space, latt, atom, natoms, pos, nspin)
subroutine, public hirshfeld_charge(this, space, iatom, density, charge)
subroutine, public hirshfeld_end(this)
This module defines the meshes, which are used in Octopus.
subroutine, public partial_charges_calculate(mesh, st, ions, hirshfeld_charges)
subroutine, public profiling_out(label)
Increment out counter and sum up difference between entry and exit time.
subroutine, public profiling_in(label, exclude)
Increment in counter and save entry time.