Add norefine option
This commit is contained in:
parent
db8428113d
commit
7a39612164
@ -58,6 +58,8 @@ module caller
|
|||||||
arg_pos = arg_pos + 1
|
arg_pos = arg_pos + 1
|
||||||
case('-wrap')
|
case('-wrap')
|
||||||
arg_pos = arg_pos + 1
|
arg_pos = arg_pos + 1
|
||||||
|
case('-norefine')
|
||||||
|
arg_pos = arg_pos + 1
|
||||||
case('-orient')
|
case('-orient')
|
||||||
call orient_opt(arg_pos)
|
call orient_opt(arg_pos)
|
||||||
case('-unorient')
|
case('-unorient')
|
||||||
|
36
src/io.f90
36
src/io.f90
@ -10,7 +10,7 @@ module io
|
|||||||
|
|
||||||
integer :: outfilenum = 0, infilenum = 0
|
integer :: outfilenum = 0, infilenum = 0
|
||||||
character(len=100) :: outfiles(100), infiles(100), in_lattice_type=''
|
character(len=100) :: outfiles(100), infiles(100), in_lattice_type=''
|
||||||
logical :: force_overwrite
|
logical :: force_overwrite, norefine
|
||||||
real(kind=dp) :: in_lapa=0.0
|
real(kind=dp) :: in_lapa=0.0
|
||||||
public
|
public
|
||||||
contains
|
contains
|
||||||
@ -33,7 +33,7 @@ module io
|
|||||||
temp_outfile = filename
|
temp_outfile = filename
|
||||||
end if
|
end if
|
||||||
|
|
||||||
!Infinite loop which only exists if user provides valid filetype
|
!Infinite loop which only exits if user provides valid filetype
|
||||||
overwrite = 'r'
|
overwrite = 'r'
|
||||||
do while(.true.)
|
do while(.true.)
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ module io
|
|||||||
subroutine write_ldump(file)
|
subroutine write_ldump(file)
|
||||||
!This subroutine will only work if element data is defined
|
!This subroutine will only work if element data is defined
|
||||||
character(len = *), intent(in) :: file
|
character(len = *), intent(in) :: file
|
||||||
integer :: write_num, i, iatom
|
integer :: write_num, i, iatom, ibasis, inod
|
||||||
logical :: write_dat
|
logical :: write_dat
|
||||||
integer :: type_interp(max_basisnum*max_esize**3), interp_num
|
integer :: type_interp(max_basisnum*max_esize**3), interp_num
|
||||||
real(kind=dp) :: r_interp(3, max_basisnum*max_esize**3), data_interp(10, max_basisnum*max_esize**3)
|
real(kind=dp) :: r_interp(3, max_basisnum*max_esize**3), data_interp(10, max_basisnum*max_esize**3)
|
||||||
@ -246,10 +246,17 @@ module io
|
|||||||
|
|
||||||
!Calculate total atom number
|
!Calculate total atom number
|
||||||
write_num = atom_num
|
write_num = atom_num
|
||||||
|
if(norefine)then
|
||||||
|
do i =1, ele_num
|
||||||
|
write_num = write_num + 8*basisnum(lat_ele(i))
|
||||||
|
end do
|
||||||
|
else
|
||||||
|
|
||||||
do i = 1,ele_num
|
do i = 1,ele_num
|
||||||
if(type_ele(i) == 'fcc') write_num = write_num + size_ele(i)**3
|
if(type_ele(i) == 'fcc') write_num = write_num + size_ele(i)**3
|
||||||
if(type_ele(i) == 'bcc') write_num = write_num + size_ele(i)**3
|
if(type_ele(i) == 'bcc') write_num = write_num + size_ele(i)**3
|
||||||
end do
|
end do
|
||||||
|
end if
|
||||||
!Write total number of atoms
|
!Write total number of atoms
|
||||||
write(11,2) write_num
|
write(11,2) write_num
|
||||||
!Write box information
|
!Write box information
|
||||||
@ -274,7 +281,27 @@ module io
|
|||||||
end do
|
end do
|
||||||
end if
|
end if
|
||||||
|
|
||||||
!Write refined element atomic positions
|
!If we have the norefine flag then just write the nodal data points
|
||||||
|
|
||||||
|
if(norefine) then
|
||||||
|
interp_num = 0
|
||||||
|
do i =1, ele_num
|
||||||
|
do inod =1, ng_node(lat_ele(i))
|
||||||
|
do ibasis=1, basisnum(lat_ele(i))
|
||||||
|
if(write_dat) then
|
||||||
|
write(11, '(2i16, 13f23.15)') atom_num+interp_num, basis_type(ibasis,lat_ele(i)), &
|
||||||
|
r_node(:, ibasis, inod, i), energy_node(ibasis,inod,i), force_node(:, ibasis, inod, i), &
|
||||||
|
virial_node(:, ibasis, inod, i)
|
||||||
|
else
|
||||||
|
|
||||||
|
write(11, '(2i16, 3f23.15)') atom_num+interp_num, basis_type(ibasis,lat_ele(i)), &
|
||||||
|
r_node(:, ibasis, inod, i)
|
||||||
|
end if
|
||||||
|
interp_num = interp_num +1
|
||||||
|
end do
|
||||||
|
end do
|
||||||
|
end do
|
||||||
|
else
|
||||||
interp_num = 0
|
interp_num = 0
|
||||||
do i = 1, ele_num
|
do i = 1, ele_num
|
||||||
if(write_dat) then
|
if(write_dat) then
|
||||||
@ -301,6 +328,7 @@ module io
|
|||||||
end if
|
end if
|
||||||
end select
|
end select
|
||||||
end do
|
end do
|
||||||
|
end if
|
||||||
end subroutine write_ldump
|
end subroutine write_ldump
|
||||||
|
|
||||||
subroutine write_lmpcac(file)
|
subroutine write_lmpcac(file)
|
||||||
|
@ -40,6 +40,7 @@ program main
|
|||||||
call box_init
|
call box_init
|
||||||
call random_seed
|
call random_seed
|
||||||
force_overwrite=.false.
|
force_overwrite=.false.
|
||||||
|
norefine=.false.
|
||||||
wrap_flag = .false.
|
wrap_flag = .false.
|
||||||
|
|
||||||
end_mode_arg = 0
|
end_mode_arg = 0
|
||||||
@ -62,6 +63,9 @@ program main
|
|||||||
case('-wrap')
|
case('-wrap')
|
||||||
wrap_flag=.true.
|
wrap_flag=.true.
|
||||||
|
|
||||||
|
case('-norefine')
|
||||||
|
norefine=.true.
|
||||||
|
|
||||||
case('-set_cac')
|
case('-set_cac')
|
||||||
call set_cac(i)
|
call set_cac(i)
|
||||||
case('-set_types')
|
case('-set_types')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user