From 2cd5694e0fbe2d621869d55910a77ca934fbfd84 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Wed, 27 Mar 2019 13:14:55 +0100 Subject: [PATCH] fixed bug for X atoms in grid DFT --- src/becke_numerical_grid/step_function_becke.irp.f | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/becke_numerical_grid/step_function_becke.irp.f b/src/becke_numerical_grid/step_function_becke.irp.f index 2905c6c0..b6335c3d 100644 --- a/src/becke_numerical_grid/step_function_becke.irp.f +++ b/src/becke_numerical_grid/step_function_becke.irp.f @@ -31,6 +31,10 @@ double precision function cell_function_becke(r,atom_number) double precision :: mu_ij,nu_ij double precision :: distance_i,distance_j,step_function_becke integer :: j + if(int(nucl_charge(atom_number))==0)then + cell_function_becke = 0.d0 + return + endif distance_i = (r(1) - nucl_coord_transp(1,atom_number) ) * (r(1) - nucl_coord_transp(1,atom_number)) distance_i += (r(2) - nucl_coord_transp(2,atom_number) ) * (r(2) - nucl_coord_transp(2,atom_number)) distance_i += (r(3) - nucl_coord_transp(3,atom_number) ) * (r(3) - nucl_coord_transp(3,atom_number)) @@ -38,6 +42,7 @@ double precision function cell_function_becke(r,atom_number) cell_function_becke = 1.d0 do j = 1, nucl_num if(j==atom_number)cycle + if(int(nucl_charge(j))==0)cycle distance_j = (r(1) - nucl_coord_transp(1,j) ) * (r(1) - nucl_coord_transp(1,j)) distance_j+= (r(2) - nucl_coord_transp(2,j) ) * (r(2) - nucl_coord_transp(2,j)) distance_j+= (r(3) - nucl_coord_transp(3,j) ) * (r(3) - nucl_coord_transp(3,j))