Fix to formatting and cell neighbor loop algorithm
This commit is contained in:
parent
6f15daf1ec
commit
e9521f43f3
@ -42,12 +42,13 @@ module opt_delete
|
|||||||
call get_command_argument(arg_pos, textholder, arg_len)
|
call get_command_argument(arg_pos, textholder, arg_len)
|
||||||
if(arg_len==0) stop "Missing argument to delete overlap command"
|
if(arg_len==0) stop "Missing argument to delete overlap command"
|
||||||
print *, textholder
|
print *, textholder
|
||||||
read(*, textholder) rc_off
|
read(textholder, *) rc_off
|
||||||
|
|
||||||
case default
|
case default
|
||||||
print *, "Command ", trim(adjustl(textholder)), " is not accepted for option delete"
|
print *, "Command ", trim(adjustl(textholder)), " is not accepted for option delete"
|
||||||
stop 3
|
stop 3
|
||||||
end select
|
end select
|
||||||
|
|
||||||
|
arg_pos = arg_pos + 1
|
||||||
end subroutine parse_delete
|
end subroutine parse_delete
|
||||||
|
|
||||||
subroutine delete_overlap
|
subroutine delete_overlap
|
||||||
@ -79,6 +80,13 @@ module opt_delete
|
|||||||
do ci = -1, 1, 1
|
do ci = -1, 1, 1
|
||||||
do cj = -1, 1, 1
|
do cj = -1, 1, 1
|
||||||
do ck = -1, 1, 1
|
do ck = -1, 1, 1
|
||||||
|
|
||||||
|
if (any((c + (/ ck, cj, ci /)) == 0)) cycle
|
||||||
|
|
||||||
|
if( (c(1) + ck > cell_num(1)).or.(c(2) + cj > cell_num(2)).or. &
|
||||||
|
(c(3) + ci > cell_num(3))) cycle
|
||||||
|
|
||||||
|
|
||||||
do num_nei = 1, num_in_cell(c(1) + ck, c(2) + cj, c(3) + ci)
|
do num_nei = 1, num_in_cell(c(1) + ck, c(2) + cj, c(3) + ci)
|
||||||
nei = cell_list(num_nei,c(1) + ck, c(2) + cj, c(3) + ci)
|
nei = cell_list(num_nei,c(1) + ck, c(2) + cj, c(3) + ci)
|
||||||
|
|
||||||
@ -108,10 +116,10 @@ module opt_delete
|
|||||||
end do
|
end do
|
||||||
end if
|
end if
|
||||||
|
|
||||||
!Now delete all the atoms
|
|
||||||
call delete_atoms(delete_num, for_delete(1:delete_num))
|
|
||||||
|
|
||||||
end do atom_loop
|
end do atom_loop
|
||||||
|
|
||||||
|
print *, "Overlap command deletes ", delete_num, " atoms"
|
||||||
|
!Now delete all the atoms
|
||||||
|
call delete_atoms(delete_num, for_delete(1:delete_num))
|
||||||
end subroutine delete_overlap
|
end subroutine delete_overlap
|
||||||
end module opt_delete
|
end module opt_delete
|
Loading…
x
Reference in New Issue
Block a user