Added basic basis functionality to code

This commit is contained in:
Alex Selimov 2020-05-19 16:16:26 -04:00
parent ffbe83f2f5
commit 32ab5a6058
3 changed files with 24 additions and 25 deletions

View file

@ -166,6 +166,7 @@ module mode_create
integer :: ori_pos, i, j, arglen, stat
character(len=100) :: textholder
character(len=20) :: orient_string
character(len=2) :: btype
logical :: isortho, isrighthanded
@ -206,20 +207,6 @@ module mode_create
call parse_ori_vec(orient_string, orient(i,:))
arg_pos = arg_pos+1
! ori_pos=2
! do j = 1,3
! if (orient_string(ori_pos:ori_pos) == '-') then
! ori_pos = ori_pos + 1
! read(orient_string(ori_pos:ori_pos), *, iostat=stat) orient(i,j)
! if (stat>0) STOP "Error reading orient value"
! orient(i,j) = -orient(i,j)
! ori_pos = ori_pos + 1
! else
! read(orient_string(ori_pos:ori_pos), *, iostat=stat) orient(i,j)
! if(stat>0) STOP "Error reading orient value"
! ori_pos=ori_pos + 1
! end if
! end do
end do
!If the duplicate command is passed then we extract the information on the new bounds.
@ -245,6 +232,21 @@ module mode_create
read(textholder, *) origin(i)
arg_pos = arg_pos + 1
end do
case('basis')
call get_command_argument(arg_pos, textholder)
read(textholder, *) basisnum(1)
arg_pos = arg_pos + 1
max_basisnum=basisnum(1)
do i = 1, max_basisnum
call get_command_argument(arg_pos, btype)
arg_pos = arg_pos+1
call add_atom_type(btype, basis_type(i,1))
do j = 1, 3
call get_command_argument(arg_pos, textholder)
read(textholder, *) basis_pos(j,i)
arg_pos=arg_pos+1
end do
end do
case default
!If it isn't an option then you have to exit