@@ -193,7 +193,6 @@ function eval_psp_projector_fourier(psp::PspUpf, i, l, p::T)::T where {T<:Real}
193193 r2_proj = @view psp. r2_projs[l+ 1 ][i][1 : ircut_proj]
194194 hankel (rgrid, r2_proj, l, p)
195195end
196- @vectorize_psp_projector_function PspUpf DFTK. eval_psp_projector_fourier
197196
198197# Vectorized version of the above, GPU compatible
199198function eval_psp_projector_fourier (psp:: PspUpf , i, l, ps:: AbstractVector{T} ) where {T<: Real }
@@ -269,19 +268,19 @@ end
269268function eval_psp_valence_density_real (psp:: PspUpf , r:: T ) where {T<: Real }
270269 psp. r2_ρion_interp (r) / r^ 2 # TODO if r is below a threshold, return zero
271270end
272- @vectorize_psp_function PspUpf DFTK. eval_psp_density_valence_real
271+ @vectorize_psp_function PspUpf DFTK. eval_psp_valence_density_real
273272
274273function eval_psp_valence_density_fourier (psp:: PspUpf , p:: T ) where {T<: Real }
275274 rgrid = @view psp. rgrid[1 : psp. ircut]
276275 r2_ρion = @view psp. r2_ρion[1 : psp. ircut]
277276 return hankel (rgrid, r2_ρion, 0 , p)
278277end
279- @vectorize_psp_function PspUpf DFTK. eval_psp_density_valence_fourier
278+ @vectorize_psp_function PspUpf DFTK. eval_psp_valence_density_fourier
280279
281280function eval_psp_core_density_real (psp:: PspUpf , r:: T ) where {T<: Real }
282281 psp. r2_ρcore_interp (r) / r^ 2 # TODO if r is below a threshold, return zero
283282end
284- @vectorize_psp_function PspUpf DFTK. eval_psp_density_core_real
283+ @vectorize_psp_function PspUpf DFTK. eval_psp_core_density_real
285284
286285function eval_psp_core_density_fourier (psp:: PspUpf , p:: T ) where {T<: Real }
287286 rgrid = @view psp. rgrid[1 : psp. ircut]
@@ -290,7 +289,7 @@ function eval_psp_core_density_fourier(psp::PspUpf, p::T) where {T<:Real}
290289end
291290
292291# Vectorized version of the above, GPU optimized
293- function eval_psp_density_core_fourier (psp:: PspUpf , ps:: AbstractVector{T} ) where {T<: Real }
292+ function eval_psp_core_density_fourier (psp:: PspUpf , ps:: AbstractVector{T} ) where {T<: Real }
294293 quadrature = default_psp_quadrature (psp. rgrid)
295294 arch = architecture (ps)
296295 rgrid = to_device (arch, @view psp. rgrid[1 : psp. ircut])
@@ -305,12 +304,14 @@ end
305304function eval_psp_core_kinetic_energy_density_real (psp:: PspUpf , r:: T ) where {T<: Real }
306305 psp. r2_τcore_interp (r) / r^ 2 # TODO if r is below a threshold, return zero
307306end
307+ @vectorize_psp_function PspUpf DFTK. eval_psp_core_kinetic_energy_density_real
308308
309309function eval_psp_core_kinetic_energy_density_fourier (psp:: PspUpf , p:: T ) where {T<: Real }
310310 rgrid = @view psp. rgrid[1 : psp. ircut]
311311 r2_τcore = @view psp. r2_τcore[1 : psp. ircut]
312312 return hankel (rgrid, r2_τcore, 0 , p)
313313end
314+ @vectorize_psp_function PspUpf DFTK. eval_psp_core_kinetic_energy_density_fourier
314315
315316function eval_psp_energy_correction (T, psp:: PspUpf )
316317 rgrid = @view psp. rgrid[1 : psp. ircut]
0 commit comments