|
|
@ -11,7 +11,6 @@ module box
|
|
|
|
!command. Currently only mode_merge will require sub_boxes, for mode_create it will always
|
|
|
|
!command. Currently only mode_merge will require sub_boxes, for mode_create it will always
|
|
|
|
!allocate to only 1 sub_box
|
|
|
|
!allocate to only 1 sub_box
|
|
|
|
integer :: sub_box_num = 0
|
|
|
|
integer :: sub_box_num = 0
|
|
|
|
integer, allocatable :: sub_box_array_bd(:,:,:)!Boundaries in the atom and element arrays for each sub_box
|
|
|
|
|
|
|
|
real(kind=dp), allocatable :: sub_box_ori(:,:,:)!Orientations for each of the subboxes
|
|
|
|
real(kind=dp), allocatable :: sub_box_ori(:,:,:)!Orientations for each of the subboxes
|
|
|
|
real(kind=dp), allocatable :: sub_box_bd(:,:)!Boundaries for each of the sub_boxes
|
|
|
|
real(kind=dp), allocatable :: sub_box_bd(:,:)!Boundaries for each of the sub_boxes
|
|
|
|
|
|
|
|
|
|
|
@ -38,11 +37,10 @@ module box
|
|
|
|
|
|
|
|
|
|
|
|
integer :: i
|
|
|
|
integer :: i
|
|
|
|
|
|
|
|
|
|
|
|
allocate(sub_box_ori(3,3,n), sub_box_bd(6,n), sub_box_array_bd(2,2,n))
|
|
|
|
allocate(sub_box_ori(3,3,n), sub_box_bd(6,n))
|
|
|
|
do i = 1, n
|
|
|
|
do i = 1, n
|
|
|
|
sub_box_ori(:,:,i) = identity_mat(3)
|
|
|
|
sub_box_ori(:,:,i) = identity_mat(3)
|
|
|
|
sub_box_bd(:,i) = 0.0_dp
|
|
|
|
sub_box_bd(:,i) = 0.0_dp
|
|
|
|
sub_box_array_bd(:,:,i) = 1
|
|
|
|
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end subroutine alloc_sub_box
|
|
|
|
end subroutine alloc_sub_box
|
|
|
|
|
|
|
|
|
|
|
@ -65,10 +63,6 @@ module box
|
|
|
|
temp_bd(:, sub_box_num+1:) = 0.0_dp
|
|
|
|
temp_bd(:, sub_box_num+1:) = 0.0_dp
|
|
|
|
call move_alloc(temp_bd, sub_box_bd)
|
|
|
|
call move_alloc(temp_bd, sub_box_bd)
|
|
|
|
|
|
|
|
|
|
|
|
temp_array_bd(:,:,1:sub_box_num) = sub_box_array_bd
|
|
|
|
|
|
|
|
temp_array_bd(:,:,sub_box_num+1:) = 1
|
|
|
|
|
|
|
|
call move_alloc(temp_array_bd, sub_box_array_bd)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
return
|
|
|
|
end subroutine grow_sub_box
|
|
|
|
end subroutine grow_sub_box
|
|
|
|
|
|
|
|
|
|
|
|