Some fixes to opt_disl code
This commit is contained in:
parent
77ef2bd063
commit
361c8cae53
@ -150,7 +150,7 @@ module opt_disl
|
|||||||
log(r(ix)**2.0_dp + r(iy)**2.0_dp) &
|
log(r(ix)**2.0_dp + r(iy)**2.0_dp) &
|
||||||
+ (r(ix)**2.0_dp - r(iy)**2.0_dp)/(4.0_dp*(1.0_dp-poisson)&
|
+ (r(ix)**2.0_dp - r(iy)**2.0_dp)/(4.0_dp*(1.0_dp-poisson)&
|
||||||
*(r(ix)**2.0_dp+r(iy)**2.0_dp)))
|
*(r(ix)**2.0_dp+r(iy)**2.0_dp)))
|
||||||
disp(3) = bs/(2.0_dp*pi) * actan
|
disp(iz) = bs/(2.0_dp*pi) * actan
|
||||||
|
|
||||||
r_atom(:,i) = r_atom(:,i) + disp
|
r_atom(:,i) = r_atom(:,i) + disp
|
||||||
end do
|
end do
|
||||||
@ -175,7 +175,7 @@ module opt_disl
|
|||||||
log(r(ix)**2.0_dp + r(iy)**2.0_dp) &
|
log(r(ix)**2.0_dp + r(iy)**2.0_dp) &
|
||||||
+ (r(ix)**2.0_dp - r(iy)**2.0_dp)/(4.0_dp*(1.0_dp-poisson)&
|
+ (r(ix)**2.0_dp - r(iy)**2.0_dp)/(4.0_dp*(1.0_dp-poisson)&
|
||||||
*(r(ix)**2.0_dp+r(iy)**2.0_dp)))
|
*(r(ix)**2.0_dp+r(iy)**2.0_dp)))
|
||||||
disp(3) = bs/(2.0_dp*pi) * actan
|
disp(iz) = bs/(2.0_dp*pi) * actan
|
||||||
|
|
||||||
|
|
||||||
r_node(:,ibasis,inod,i) = r_node(:,ibasis,inod,i) + disp
|
r_node(:,ibasis,inod,i) = r_node(:,ibasis,inod,i) + disp
|
||||||
@ -184,8 +184,6 @@ module opt_disl
|
|||||||
end do
|
end do
|
||||||
end if
|
end if
|
||||||
|
|
||||||
!Now make sure all atoms are wrapped back into the simulation cell
|
|
||||||
call wrap_atoms
|
|
||||||
|
|
||||||
end subroutine disl
|
end subroutine disl
|
||||||
|
|
||||||
@ -269,6 +267,7 @@ module opt_disl
|
|||||||
call matrix_inverse(ss_ori, 3, ss_inv)
|
call matrix_inverse(ss_ori, 3, ss_inv)
|
||||||
|
|
||||||
!Apply the rotation
|
!Apply the rotation
|
||||||
|
print *, ss_inv
|
||||||
disp_transform = matmul(sub_box_ori(:,:,i), ss_inv)
|
disp_transform = matmul(sub_box_ori(:,:,i), ss_inv)
|
||||||
call matrix_inverse(disp_transform,3,inv_transform)
|
call matrix_inverse(disp_transform,3,inv_transform)
|
||||||
|
|
||||||
@ -329,8 +328,6 @@ module opt_disl
|
|||||||
end do
|
end do
|
||||||
end if
|
end if
|
||||||
|
|
||||||
!Now make sure all atoms are wrapped back into the simulation cell
|
|
||||||
call wrap_atoms
|
|
||||||
|
|
||||||
end subroutine dislgen
|
end subroutine dislgen
|
||||||
|
|
||||||
@ -544,8 +541,6 @@ module opt_disl
|
|||||||
end do
|
end do
|
||||||
return
|
return
|
||||||
|
|
||||||
!Now make sure all atoms are wrapped back into the simulation cell
|
|
||||||
call wrap_atoms
|
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
!********************************************************
|
!********************************************************
|
||||||
|
Loading…
x
Reference in New Issue
Block a user