Added sbox_ori option for when reading in restart files
This commit is contained in:
parent
4868a30e57
commit
a9b266d757
@ -277,6 +277,14 @@ Delete requires the usage of additional keywords to specify which delete action
|
|||||||
|
|
||||||
This command will delete all overlapping atoms within a specific cutoff radius `rc_off`. This currently does not affect elements.
|
This command will delete all overlapping atoms within a specific cutoff radius `rc_off`. This currently does not affect elements.
|
||||||
|
|
||||||
|
### Option sbox_ori
|
||||||
|
|
||||||
|
```
|
||||||
|
-sbox_ori sbox [hkl] [hkl] [hkl]
|
||||||
|
```
|
||||||
|
|
||||||
|
This option is primarily used when reading data from non .mb formats. This code simply sets the orientation variable for the specified sub box `sbox`.
|
||||||
|
|
||||||
****
|
****
|
||||||
|
|
||||||
## Position Specification
|
## Position Specification
|
||||||
|
@ -29,6 +29,8 @@ subroutine call_option(option, arg_pos)
|
|||||||
call get_command_argument(arg_pos, box_bc)
|
call get_command_argument(arg_pos, box_bc)
|
||||||
arg_pos=arg_pos+1
|
arg_pos=arg_pos+1
|
||||||
bound_called = .true.
|
bound_called = .true.
|
||||||
|
case('-sbox_ori')
|
||||||
|
call sbox_ori(arg_pos)
|
||||||
case('-delete')
|
case('-delete')
|
||||||
call run_delete(arg_pos)
|
call run_delete(arg_pos)
|
||||||
case default
|
case default
|
||||||
|
@ -133,4 +133,29 @@ module opt_orient
|
|||||||
box_bd = orig_box_bd
|
box_bd = orig_box_bd
|
||||||
end subroutine unorient
|
end subroutine unorient
|
||||||
|
|
||||||
|
subroutine sbox_ori(arg_pos)
|
||||||
|
integer, intent(inout) :: arg_pos
|
||||||
|
|
||||||
|
integer :: i, sbox_in, arg_len
|
||||||
|
real(kind = dp) :: new_orient(3,3)
|
||||||
|
character(len=100) :: textholder
|
||||||
|
character(len=8) :: ori_string
|
||||||
|
|
||||||
|
arg_pos = arg_pos + 1
|
||||||
|
call get_command_argument(arg_pos, textholder,arg_len)
|
||||||
|
if (arg_len== 0) stop 'Missing sbox in sbox_ori command'
|
||||||
|
read(textholder,*) sbox_in
|
||||||
|
|
||||||
|
do i = 1, 3
|
||||||
|
arg_pos = arg_pos + 1
|
||||||
|
call get_command_argument(arg_pos, ori_string, arg_len)
|
||||||
|
if (arg_len == 0) print *, "Missing orientation vector in -orient option"
|
||||||
|
call parse_ori_vec(ori_string, new_orient(i,:))
|
||||||
|
new_orient(i,:) = new_orient(i,:) / norm2(new_orient(i,:))
|
||||||
|
end do
|
||||||
|
|
||||||
|
sub_box_ori(:,:,sbox_in) = new_orient
|
||||||
|
arg_pos = arg_pos + 1
|
||||||
|
|
||||||
|
end subroutine sbox_ori
|
||||||
end module opt_orient
|
end module opt_orient
|
Loading…
x
Reference in New Issue
Block a user