44 |
|
use force_globals |
45 |
|
use status |
46 |
|
use atype_module |
47 |
< |
use Vector_class |
47 |
> |
use vector_class |
48 |
|
#ifdef IS_MPI |
49 |
|
use mpiSimulation |
50 |
|
#endif |
134 |
|
public :: calc_eam_preforce_Frho |
135 |
|
public :: clean_EAM |
136 |
|
public :: destroyEAMTypes |
137 |
+ |
public :: getEAMCut |
138 |
|
|
139 |
|
contains |
140 |
|
|
141 |
|
|
142 |
|
subroutine newEAMtype(lattice_constant,eam_nrho,eam_drho,eam_nr,& |
143 |
|
eam_dr,rcut,eam_Z_r,eam_rho_r,eam_F_rho,& |
144 |
< |
eam_ident,status) |
144 |
> |
c_ident,status) |
145 |
|
real (kind = dp ) :: lattice_constant |
146 |
|
integer :: eam_nrho |
147 |
|
real (kind = dp ) :: eam_drho |
151 |
|
real (kind = dp ), dimension(eam_nr) :: eam_Z_r |
152 |
|
real (kind = dp ), dimension(eam_nr) :: eam_rho_r |
153 |
|
real (kind = dp ), dimension(eam_nrho) :: eam_F_rho |
154 |
< |
integer :: eam_ident |
154 |
> |
integer :: c_ident |
155 |
|
integer :: status |
156 |
|
|
157 |
|
integer :: nAtypes,nEAMTypes,myATID |
189 |
|
end if |
190 |
|
|
191 |
|
|
192 |
< |
EAMList%EAMParams(current)%eam_atype = eam_ident |
192 |
> |
EAMList%EAMParams(current)%eam_atype = c_ident |
193 |
|
EAMList%EAMParams(current)%eam_lattice = lattice_constant |
194 |
|
EAMList%EAMParams(current)%eam_nrho = eam_nrho |
195 |
|
EAMList%EAMParams(current)%eam_drho = eam_drho |
220 |
|
|
221 |
|
end subroutine destroyEAMtypes |
222 |
|
|
223 |
+ |
function getEAMCut(atomID) result(cutValue) |
224 |
+ |
integer, intent(in) :: atomID |
225 |
+ |
integer :: eamID |
226 |
+ |
real(kind=dp) :: cutValue |
227 |
+ |
|
228 |
+ |
eamID = EAMList%atidToEAMType(atomID) |
229 |
+ |
cutValue = EAMList%EAMParams(eamID)%eam_rcut |
230 |
+ |
|
231 |
+ |
end function getEAMCut |
232 |
+ |
|
233 |
|
subroutine init_EAM_FF(status) |
234 |
|
integer :: status |
235 |
|
integer :: i,j |