1 |
< |
!! |
1 |
> |
!! |
2 |
|
!! Copyright (c) 2005 The University of Notre Dame. All Rights Reserved. |
3 |
|
!! |
4 |
|
!! The University of Notre Dame grants you ("Licensee") a |
272 |
|
MixingMap(i,j)%rcut = 2.0_dp *MixingMap(i,j)%alpha |
273 |
|
MixingMap(i,j)%vpair_pot = MixingMap(i,j)%epsilon* & |
274 |
|
(MixingMap(i,j)%alpha/MixingMap(i,j)%rcut)**MixingMap(i,j)%n |
275 |
+ |
|
276 |
|
if (i.ne.j) then |
277 |
|
MixingMap(j,i)%epsilon = MixingMap(i,j)%epsilon |
278 |
|
MixingMap(j,i)%m = MixingMap(i,j)%m |
471 |
|
real(kind=dp) :: pot |
472 |
|
integer :: i,j |
473 |
|
integer :: atom |
473 |
– |
real(kind=dp) :: U,U1,U2 |
474 |
|
integer :: atype1 |
475 |
|
integer :: atid1 |
476 |
|
integer :: myid |
499 |
|
do atom = 1, nlocal |
500 |
|
Myid = SCList%atidtoSctype(Atid(atom)) |
501 |
|
frho(atom) = -SCList%SCTypes(Myid)%c * & |
502 |
< |
SCList%SCTypes(Myid)%epsilon * sqrt(rho(i)) |
502 |
> |
SCList%SCTypes(Myid)%epsilon * sqrt(rho(atom)) |
503 |
|
|
504 |
|
dfrhodrho(atom) = 0.5_dp*frho(atom)/rho(atom) |
505 |
< |
pot = pot + u |
505 |
> |
|
506 |
> |
pot = pot + frho(atom) |
507 |
|
enddo |
508 |
|
|
509 |
|
#ifdef IS_MPI |
547 |
|
real( kind = dp ) :: dvpdr |
548 |
|
real( kind = dp ) :: drhodr |
549 |
|
real( kind = dp ) :: dudr |
549 |
– |
real( kind = dp ) :: rcij |
550 |
|
real( kind = dp ) :: drhoidr,drhojdr |
551 |
|
real( kind = dp ) :: Fx,Fy,Fz |
552 |
< |
real( kind = dp ) :: r,d2pha,phb,d2phb |
552 |
> |
real( kind = dp ) :: d2pha,phb,d2phb |
553 |
|
real( kind = dp ) :: pot_temp,vptmp |
554 |
|
real( kind = dp ) :: epsilonij,aij,nij,mij,vcij |
555 |
|
integer :: id1,id2 |
587 |
|
mij = MixingMap(mytype_atom1,mytype_atom2)%m |
588 |
|
vcij = MixingMap(mytype_atom1,mytype_atom2)%vpair_pot |
589 |
|
|
590 |
< |
vptmp = epsilonij*((aij/r)**nij) |
590 |
> |
vptmp = epsilonij*((aij/rij)**nij) |
591 |
|
|
592 |
|
|
593 |
< |
dvpdr = -nij*vptmp/r |
594 |
< |
drhodr = -mij*((aij/r)**mij)/r |
593 |
> |
dvpdr = -nij*vptmp/rij |
594 |
> |
drhodr = -mij*((aij/rij)**mij)/rij |
595 |
|
|
596 |
|
|
597 |
|
dudr = drhodr*(dfrhodrho(atom1)+dfrhodrho(atom2)) & |