Current working changes with some updates to comments for accuracy

development
Alex Selimov 4 years ago
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,7 +538,6 @@ 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

@ -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 number of files to read and allocate the variables !Now read the cutoff radius
call get_command_argument(3,textholder,arglen) call get_command_argument(3,textholder,arglen)
if (arglen == 0) stop "Incomplete mode metric command, check documentation" 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
call get_command_argument(4, textholder, arglen)
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…
Cancel
Save