|
|
|
subroutine call_option(option, arg_pos)
|
|
|
|
use parameters
|
|
|
|
use opt_disl
|
|
|
|
use opt_group
|
|
|
|
use opt_orient
|
|
|
|
use opt_deform
|
|
|
|
use opt_delete
|
|
|
|
use opt_redef_box
|
|
|
|
use opt_slip_plane
|
|
|
|
use box
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
integer, intent(inout) :: arg_pos
|
|
|
|
character(len=100), intent(in) :: option
|
|
|
|
|
|
|
|
select case(trim(adjustl(option)))
|
|
|
|
case('-dislgen', '-disloop','-vacancydisloop')
|
|
|
|
call dislocation(option, arg_pos)
|
|
|
|
case('-group')
|
|
|
|
call group(arg_pos)
|
|
|
|
case('-ow')
|
|
|
|
arg_pos = arg_pos + 1
|
|
|
|
case('-wrap')
|
|
|
|
arg_pos = arg_pos + 1
|
|
|
|
case('-orient')
|
|
|
|
call orient(arg_pos)
|
|
|
|
case('-unorient')
|
|
|
|
call unorient
|
|
|
|
arg_pos = arg_pos + 1
|
|
|
|
case('-boundary')
|
|
|
|
arg_pos=arg_pos+1
|
|
|
|
call get_command_argument(arg_pos, box_bc)
|
|
|
|
arg_pos=arg_pos+1
|
|
|
|
bound_called = .true.
|
|
|
|
case('-sbox_ori')
|
|
|
|
call sbox_ori(arg_pos)
|
|
|
|
case('-deform')
|
|
|
|
call deform(arg_pos)
|
|
|
|
case('-delete')
|
|
|
|
call run_delete(arg_pos)
|
|
|
|
case('-set_cac')
|
|
|
|
arg_pos=arg_pos +3
|
|
|
|
case('-set_types')
|
|
|
|
arg_pos = arg_pos + 3 + atom_types
|
|
|
|
case('-redef_box')
|
|
|
|
call redef_box(arg_pos)
|
|
|
|
case('-slip_plane')
|
|
|
|
call run_slip_plane(arg_pos)
|
|
|
|
case default
|
|
|
|
print *, 'Option ', trim(adjustl(option)), ' is not currently accepted.'
|
|
|
|
stop 3
|
|
|
|
end select
|
|
|
|
end subroutine call_option
|