--- forces-edip.1.7.f Fri Apr 19 10:43:41 2002 +++ forces-edip.1.8.f Fri Apr 19 10:43:54 2002 @@ -2,7 +2,7 @@ C forces-edip.f C ------------- -C Version 1.7f +C Version 1.8f C Force and Energy Calculation with the C Environment-Dependent Interatomic Potential @@ -444,14 +444,13 @@ C dV2/dr contribution to virial - virial_xyz(1) = virial_xyz(1) - - & s2_r(nj)*(dV2ijx*s2_dx(nj)) - virial_xyz(2) = virial_xyz(2) - - & s2_r(nj)*(dV2ijy*s2_dy(nj)) - virial_xyz(3) = virial_xyz(3) - - & s2_r(nj)*(dV2ijz*s2_dz(nj)) - virial = virial - s2_r(nj) * (dV2ijx*s2_dx(nj)+ - & dV2ijy*s2_dy(nj) + dV2ijz*s2_dz(nj)) + temp0 = dV2ijx*s2_dx(nj)*s2_r(nj) + temp1 = dV2ijy*s2_dy(nj)*s2_r(nj) + temp2 = dV2ijz*s2_dz(nj)*s2_r(nj) + virial_xyz(1) = virial_xyz(1) - temp0 + virial_xyz(2) = virial_xyz(2) - temp1 + virial_xyz(3) = virial_xyz(3) - temp2 + virial = virial - (temp0 + temp1 + temp2) if(fixZ .eq. 0) then @@ -562,23 +561,14 @@ f(3,i) = f(3,i) + fjz + fkz C dV3/dR contributions to virial - - virial = virial - s3_r(nj) * (fjx*s3_dx(nj) - & + fjy*s3_dy(nj) + fjz*s3_dz(nj)) - virial = virial - s3_r(nk) * (fkx*s3_dx(nk) - & + fky*s3_dy(nk) + fkz*s3_dz(nk)) - virial_xyz(1) = virial_xyz(1) - - & s3_r(nj)*(fjx*s3_dx(nj)) - virial_xyz(2) = virial_xyz(2) - - & s3_r(nj)*(fjy*s3_dy(nj)) - virial_xyz(3) = virial_xyz(3) - - & s3_r(nj)*(fjz*s3_dz(nj)) - virial_xyz(1) = virial_xyz(1) - - & s3_r(nk)*(fkx*s3_dx(nk)) - virial_xyz(2) = virial_xyz(2) - - & s3_r(nk)*(fky*s3_dy(nk)) - virial_xyz(3) = virial_xyz(3) - - & s3_r(nk)*(fkz*s3_dz(nk)) + + temp0 = fjx*s3_dx(nj)*s3_r(nj) + fkx*s3_dx(nk)*s3_r(nk) + temp1 = fjy*s3_dy(nj)*s3_r(nj) + fky*s3_dy(nk)*s3_r(nk) + temp2 = fjz*s3_dz(nj)*s3_r(nj) + fkz*s3_dz(nk)*s3_r(nk) + virial_xyz(1) = virial_xyz(1) - temp0 + virial_xyz(2) = virial_xyz(2) - temp1 + virial_xyz(3) = virial_xyz(3) - temp2 + virial = virial - (temp0 + temp1 + temp2) if(fixZ .eq. 0) then @@ -612,14 +602,13 @@ C dE/dZ*dZ/dr contribution to virial - virial = virial - sz_r(nl) * (dEdrlx*sz_dx(nl)+ - & dEdrly*sz_dy(nl) + dEdrlz*sz_dz(nl)) - virial_xyz(1) = virial_xyz(1) - - & sz_r(nl)*(dEdrlx*sz_dx(nl)) - virial_xyz(2) = virial_xyz(2) - - & sz_r(nl)*(dEdrly*sz_dy(nl)) - virial_xyz(3) = virial_xyz(3) - - & sz_r(nl)*(dEdrlz*sz_dz(nl)) + temp0 = dEdrlx*sz_dx(nl)*sz_r(nl) + temp1 = dEdrly*sz_dy(nl)*sz_r(nl) + temp2 = dEdrlz*sz_dz(nl)*sz_r(nl) + virial_xyz(1) = virial_xyz(1) - temp0 + virial_xyz(2) = virial_xyz(2) - temp1 + virial_xyz(3) = virial_xyz(3) - temp2 + virial = virial - (temp0 + temp1 + temp2) end do end if