Current working changes with some updates to comments for accuracy
This commit is contained in:
parent
6e08517697
commit
2ea388b82a
@ -501,6 +501,7 @@ module elements
|
|||||||
!We go from largest index to smallest index just to make sure that we don't miss
|
!We go from largest index to smallest index just to make sure that we don't miss
|
||||||
!accidentally overwrite values which need to be deleted
|
!accidentally overwrite values which need to be deleted
|
||||||
do i = num, 1, -1
|
do i = num, 1, -1
|
||||||
|
node_num = node_num - ng_node(lat_ele(sorted_index(i)))
|
||||||
if(sorted_index(i) == ele_num) then
|
if(sorted_index(i) == ele_num) then
|
||||||
r_node(:,:,:,sorted_index(i)) = 0.0_dp
|
r_node(:,:,:,sorted_index(i)) = 0.0_dp
|
||||||
type_ele(sorted_index(i)) =''
|
type_ele(sorted_index(i)) =''
|
||||||
@ -509,7 +510,6 @@ module elements
|
|||||||
sbox_ele(sorted_index(i)) = 0
|
sbox_ele(sorted_index(i)) = 0
|
||||||
tag_ele(sorted_index(i)) = 0
|
tag_ele(sorted_index(i)) = 0
|
||||||
else
|
else
|
||||||
node_num = node_num - ng_node(lat_ele(sorted_index(i)))
|
|
||||||
r_node(:,:,:,sorted_index(i)) = r_node(:,:,:,ele_num)
|
r_node(:,:,:,sorted_index(i)) = r_node(:,:,:,ele_num)
|
||||||
type_ele(sorted_index(i)) = type_ele(ele_num)
|
type_ele(sorted_index(i)) = type_ele(ele_num)
|
||||||
size_ele(sorted_index(i)) = size_ele(ele_num)
|
size_ele(sorted_index(i)) = size_ele(ele_num)
|
||||||
@ -538,8 +538,7 @@ module elements
|
|||||||
|
|
||||||
max_bd(:) = -huge(1.0_dp)
|
max_bd(:) = -huge(1.0_dp)
|
||||||
min_bd(:) = huge(1.0_dp)
|
min_bd(:) = huge(1.0_dp)
|
||||||
|
do i = 1, atom_num
|
||||||
do i = 1, atom_num
|
|
||||||
do j = 1, 3
|
do j = 1, 3
|
||||||
if (r_atom(j,i) > max_bd(j)) max_bd(j) = r_atom(j,i) + tol
|
if (r_atom(j,i) > max_bd(j)) max_bd(j) = r_atom(j,i) + tol
|
||||||
if (r_atom(j,i) < min_bd(j)) min_bd(j) = r_atom(j,i) - tol
|
if (r_atom(j,i) < min_bd(j)) min_bd(j) = r_atom(j,i) - tol
|
||||||
|
@ -10,11 +10,11 @@ module mode_metric
|
|||||||
|
|
||||||
integer :: nfiles
|
integer :: nfiles
|
||||||
character(len=100) :: metric_type
|
character(len=100) :: metric_type
|
||||||
real(kind=dp), allocatable :: met(:,:)
|
real(kind=dp) :: rc_off
|
||||||
|
|
||||||
!Save reference positions
|
!Save reference positions
|
||||||
integer :: np, npreal, nmet
|
integer :: np, npreal, nmet
|
||||||
real(kind=dp), allocatable :: r_zero(:,:), r_curr(:,:)
|
real(kind=dp), allocatable :: r_zero(:,:), r_curr(:,:), met(:,:)
|
||||||
|
|
||||||
public
|
public
|
||||||
contains
|
contains
|
||||||
@ -37,7 +37,6 @@ module mode_metric
|
|||||||
!Now read the first file
|
!Now read the first file
|
||||||
call read_in(1, (/ 0.0_dp, 0.0_dp, 0.0_dp /), temp_box_bd)
|
call read_in(1, (/ 0.0_dp, 0.0_dp, 0.0_dp /), temp_box_bd)
|
||||||
np = atom_num + max_basisnum*max_ng_node*ele_num
|
np = atom_num + max_basisnum*max_ng_node*ele_num
|
||||||
print *,np
|
|
||||||
allocate(r_zero(3,atom_num+max_basisnum*max_ng_node*ele_num), &
|
allocate(r_zero(3,atom_num+max_basisnum*max_ng_node*ele_num), &
|
||||||
r_curr(3,atom_num+max_basisnum*max_ng_node*ele_num))
|
r_curr(3,atom_num+max_basisnum*max_ng_node*ele_num))
|
||||||
r_zero(:,:) = -huge(1.0_dp)
|
r_zero(:,:) = -huge(1.0_dp)
|
||||||
@ -101,18 +100,23 @@ module mode_metric
|
|||||||
stop 3
|
stop 3
|
||||||
end select
|
end select
|
||||||
|
|
||||||
|
!Now read the cutoff radius
|
||||||
|
call get_command_argument(3,textholder,arglen)
|
||||||
|
if (arglen == 0) stop "Incomplete mode metric command, check documentation"
|
||||||
|
read(textholder, *) rc_off
|
||||||
|
|
||||||
!Now read the number of files to read and allocate the variables
|
!Now read the number of files to read and allocate the variables
|
||||||
call get_command_argument(3, textholder, arglen)
|
call get_command_argument(4, textholder, arglen)
|
||||||
if (arglen == 0) stop "Incomplete mode metric command, check documentation"
|
if (arglen == 0) stop "Incomplete mode metric command, check documentation"
|
||||||
read(textholder, *) nfiles
|
read(textholder, *) nfiles
|
||||||
|
|
||||||
!Now read the files to be read
|
!Now read the files to be read
|
||||||
do i = 1, nfiles
|
do i = 1, nfiles
|
||||||
call get_command_argument(3+i, textholder, arglen)
|
call get_command_argument(4+i, textholder, arglen)
|
||||||
call get_in_file(textholder)
|
call get_in_file(textholder)
|
||||||
end do
|
end do
|
||||||
|
|
||||||
arg_pos = 4+nfiles
|
arg_pos = 5+nfiles
|
||||||
return
|
return
|
||||||
end subroutine parse_command
|
end subroutine parse_command
|
||||||
|
|
||||||
@ -184,8 +188,6 @@ module mode_metric
|
|||||||
integer :: i, inod, ibasis
|
integer :: i, inod, ibasis
|
||||||
|
|
||||||
npoints=0
|
npoints=0
|
||||||
print *, atom_num + max_ng_node*max_basisnum*ele_num
|
|
||||||
print *, rout(:,1)
|
|
||||||
|
|
||||||
if(atom_num > 0) then
|
if(atom_num > 0) then
|
||||||
do i = 1, atom_num
|
do i = 1, atom_num
|
||||||
|
@ -561,7 +561,6 @@ module opt_disl
|
|||||||
!Now reset the list for the scanning algorithm
|
!Now reset the list for the scanning algorithm
|
||||||
|
|
||||||
delete_num = 0
|
delete_num = 0
|
||||||
!Now scan over all atoms again and find the closest vloop_size number of atoms to the initial atom
|
|
||||||
!that reside on the same plane. If loop_radius is > 0 then we build a circular vacancy cluster
|
!that reside on the same plane. If loop_radius is > 0 then we build a circular vacancy cluster
|
||||||
if(loop_radius > 0) then
|
if(loop_radius > 0) then
|
||||||
do i = 1, atom_num
|
do i = 1, atom_num
|
||||||
|
@ -87,7 +87,7 @@ module opt_group
|
|||||||
continue
|
continue
|
||||||
case default
|
case default
|
||||||
print *, "Select_type ", trim(adjustl(type)), " is not an accept group selection criteria. ", &
|
print *, "Select_type ", trim(adjustl(type)), " is not an accept group selection criteria. ", &
|
||||||
"Please select from atoms, nodes, or both."
|
"Please select from atoms, elements, or both."
|
||||||
end select
|
end select
|
||||||
|
|
||||||
arg_pos = arg_pos + 1
|
arg_pos = arg_pos + 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user