Merge pull request #13 from aselimov/ft--opt-dislloop
Square loop option
This commit is contained in:
commit
071e8169b9
@ -291,6 +291,21 @@ module opt_disl
|
|||||||
a3 = 3
|
a3 = 3
|
||||||
end select
|
end select
|
||||||
|
|
||||||
|
if(loop_radius < 0.0_dp) then
|
||||||
|
xLoop(:,:) = 0.d0
|
||||||
|
xLoop(1,a1) = centroid(1) - loop_radius
|
||||||
|
xLoop(1,a2) = centroid(2) - loop_radius
|
||||||
|
xLoop(1,a3) = centroid(3)
|
||||||
|
xLoop(2,a1) = centroid(1) + loop_radius
|
||||||
|
xLoop(2,a2) = centroid(2) - loop_radius
|
||||||
|
xLoop(2,a3) = centroid(3)
|
||||||
|
xLoop(3,a1) = centroid(1) + loop_radius
|
||||||
|
xLoop(3,a2) = centroid(2) + loop_radius
|
||||||
|
xLoop(3,a3) = centroid(3)
|
||||||
|
xLoop(4,a1) = centroid(1) - loop_radius
|
||||||
|
xLoop(4,a2) = centroid(2) + loop_radius
|
||||||
|
xLoop(4,a3) = centroid(3)
|
||||||
|
else
|
||||||
!Calculate loop perimeter
|
!Calculate loop perimeter
|
||||||
perimeter = 2.0_dp*pi*loop_radius
|
perimeter = 2.0_dp*pi*loop_radius
|
||||||
|
|
||||||
@ -320,7 +335,7 @@ module opt_disl
|
|||||||
! Increment angle for next point
|
! Increment angle for next point
|
||||||
angle = angle + theta
|
angle = angle + theta
|
||||||
end do
|
end do
|
||||||
|
end if
|
||||||
!Now actually calculate the displacement created by a loop for every atom
|
!Now actually calculate the displacement created by a loop for every atom
|
||||||
do i = 1, atom_num
|
do i = 1, atom_num
|
||||||
u = 0.0_dp
|
u = 0.0_dp
|
||||||
|
Loading…
x
Reference in New Issue
Block a user