Add all new option
This commit is contained in:
parent
4b9589e7b3
commit
8fd45dc461
@ -64,6 +64,8 @@ module caller
|
|||||||
arg_pos = arg_pos + 1
|
arg_pos = arg_pos + 1
|
||||||
case('-norefine')
|
case('-norefine')
|
||||||
arg_pos = arg_pos + 1
|
arg_pos = arg_pos + 1
|
||||||
|
case('all_new')
|
||||||
|
arg_pos = arg_pos + 1
|
||||||
case('-orient')
|
case('-orient')
|
||||||
call orient_opt(arg_pos)
|
call orient_opt(arg_pos)
|
||||||
case('-unorient')
|
case('-unorient')
|
||||||
|
@ -332,22 +332,32 @@ module elements
|
|||||||
|
|
||||||
end subroutine add_atom
|
end subroutine add_atom
|
||||||
|
|
||||||
subroutine add_atom_type(type, inttype)
|
subroutine add_atom_type(type, inttype, force_new)
|
||||||
!This subroutine adds a new atom type to the module list of atom types
|
!This subroutine adds a new atom type to the module list of atom types
|
||||||
character(len=2), intent(in) :: type
|
character(len=2), intent(in) :: type
|
||||||
integer, intent(out) :: inttype
|
integer, intent(out) :: inttype
|
||||||
|
|
||||||
|
logical, optional, intent(in) :: force_new
|
||||||
|
|
||||||
integer :: i
|
integer :: i
|
||||||
logical :: exists
|
logical :: exists, force
|
||||||
|
|
||||||
|
if(present(force_new)) then
|
||||||
|
force = force_new
|
||||||
|
else
|
||||||
|
force = .false.
|
||||||
|
end if
|
||||||
|
|
||||||
exists = .false.
|
exists = .false.
|
||||||
do i=1, 10
|
if(.not.force) then
|
||||||
if(type == type_to_name(i)) then
|
do i=1, 10
|
||||||
exists = .true.
|
if(type == type_to_name(i)) then
|
||||||
inttype = i
|
exists = .true.
|
||||||
exit
|
inttype = i
|
||||||
end if
|
exit
|
||||||
end do
|
end if
|
||||||
|
end do
|
||||||
|
end if
|
||||||
|
|
||||||
if (exists.eqv..false.) then
|
if (exists.eqv..false.) then
|
||||||
atom_types = atom_types+1
|
atom_types = atom_types+1
|
||||||
|
12
src/io.f90
12
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, norefine
|
logical :: force_overwrite, norefine, all_new
|
||||||
real(kind=dp) :: in_lapa=0.0
|
real(kind=dp) :: in_lapa=0.0
|
||||||
public
|
public
|
||||||
contains
|
contains
|
||||||
@ -772,7 +772,7 @@ module io
|
|||||||
!Now fit these into the global list of atom types, after this new_type_to_type is the actual global
|
!Now fit these into the global list of atom types, after this new_type_to_type is the actual global
|
||||||
!type of the atoms within this file
|
!type of the atoms within this file
|
||||||
do i = 1, new_atom_types
|
do i = 1, new_atom_types
|
||||||
call add_atom_type(new_type_to_name(i), new_type_to_type(i))
|
call add_atom_type(new_type_to_name(i), new_type_to_type(i), all_new)
|
||||||
end do
|
end do
|
||||||
!Read the number of lattice types, basisnum, and number of nodes for each lattice type
|
!Read the number of lattice types, basisnum, and number of nodes for each lattice type
|
||||||
read(11,*) new_lattice_types, (basisnum(i), i = lattice_types+1, lattice_types+new_lattice_types), &
|
read(11,*) new_lattice_types, (basisnum(i), i = lattice_types+1, lattice_types+new_lattice_types), &
|
||||||
@ -903,7 +903,7 @@ module io
|
|||||||
print *, j
|
print *, j
|
||||||
do i = 1, j
|
do i = 1, j
|
||||||
call atommassspecies(atomic_masses(i), atomic_element)
|
call atommassspecies(atomic_masses(i), atomic_element)
|
||||||
call add_atom_type(atomic_element, atom_type_map(i))
|
call add_atom_type(atomic_element, atom_type_map(i), all_new)
|
||||||
print *, i, atom_type_map(i)
|
print *, i, atom_type_map(i)
|
||||||
end do
|
end do
|
||||||
|
|
||||||
@ -1057,7 +1057,7 @@ module io
|
|||||||
!Read define atom_types by mass
|
!Read define atom_types by mass
|
||||||
do i = 1, j
|
do i = 1, j
|
||||||
call atommassspecies(atomic_masses(i), atomic_element)
|
call atommassspecies(atomic_masses(i), atomic_element)
|
||||||
call add_atom_type(atomic_element, atom_type_map(i))
|
call add_atom_type(atomic_element, atom_type_map(i), all_new)
|
||||||
end do
|
end do
|
||||||
|
|
||||||
|
|
||||||
@ -1171,7 +1171,7 @@ module io
|
|||||||
do i = 1, type_in
|
do i = 1, type_in
|
||||||
read(11,*) j, mass
|
read(11,*) j, mass
|
||||||
call ATOMMASSSPECIES(mass, atom_species)
|
call ATOMMASSSPECIES(mass, atom_species)
|
||||||
call add_atom_type(atom_species, type_map(i))
|
call add_atom_type(atom_species, type_map(i), all_new)
|
||||||
end do
|
end do
|
||||||
|
|
||||||
!Read useless info
|
!Read useless info
|
||||||
@ -1259,7 +1259,7 @@ module io
|
|||||||
do i = 1, type_in
|
do i = 1, type_in
|
||||||
read(11,*) j, mass, textholder
|
read(11,*) j, mass, textholder
|
||||||
call ATOMMASSSPECIES(mass, atom_species)
|
call ATOMMASSSPECIES(mass, atom_species)
|
||||||
call add_atom_type(atom_species, type_map(i))
|
call add_atom_type(atom_species, type_map(i), all_new)
|
||||||
end do
|
end do
|
||||||
|
|
||||||
!Read useless info
|
!Read useless info
|
||||||
|
@ -42,6 +42,7 @@ program main
|
|||||||
force_overwrite=.false.
|
force_overwrite=.false.
|
||||||
norefine=.false.
|
norefine=.false.
|
||||||
wrap_flag = .false.
|
wrap_flag = .false.
|
||||||
|
all_new = .false.
|
||||||
|
|
||||||
end_mode_arg = 0
|
end_mode_arg = 0
|
||||||
|
|
||||||
@ -70,6 +71,8 @@ program main
|
|||||||
call set_cac(i)
|
call set_cac(i)
|
||||||
case('-set_types')
|
case('-set_types')
|
||||||
call set_types(i)
|
call set_types(i)
|
||||||
|
case('-all_new')
|
||||||
|
all_new=.true.
|
||||||
end select
|
end select
|
||||||
end do
|
end do
|
||||||
!Determine if a mode is being used and what it is. The first argument has to be the mode
|
!Determine if a mode is being used and what it is. The first argument has to be the mode
|
||||||
|
Loading…
x
Reference in New Issue
Block a user