Add all new option
This commit is contained in:
parent
4b9589e7b3
commit
8fd45dc461
@ -64,6 +64,8 @@ module caller
|
||||
arg_pos = arg_pos + 1
|
||||
case('-norefine')
|
||||
arg_pos = arg_pos + 1
|
||||
case('all_new')
|
||||
arg_pos = arg_pos + 1
|
||||
case('-orient')
|
||||
call orient_opt(arg_pos)
|
||||
case('-unorient')
|
||||
|
@ -332,15 +332,24 @@ module elements
|
||||
|
||||
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
|
||||
character(len=2), intent(in) :: type
|
||||
integer, intent(out) :: inttype
|
||||
|
||||
logical, optional, intent(in) :: force_new
|
||||
|
||||
integer :: i
|
||||
logical :: exists
|
||||
logical :: exists, force
|
||||
|
||||
if(present(force_new)) then
|
||||
force = force_new
|
||||
else
|
||||
force = .false.
|
||||
end if
|
||||
|
||||
exists = .false.
|
||||
if(.not.force) then
|
||||
do i=1, 10
|
||||
if(type == type_to_name(i)) then
|
||||
exists = .true.
|
||||
@ -348,6 +357,7 @@ module elements
|
||||
exit
|
||||
end if
|
||||
end do
|
||||
end if
|
||||
|
||||
if (exists.eqv..false.) then
|
||||
atom_types = atom_types+1
|
||||
|
12
src/io.f90
12
src/io.f90
@ -10,7 +10,7 @@ module io
|
||||
|
||||
integer :: outfilenum = 0, infilenum = 0
|
||||
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
|
||||
public
|
||||
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
|
||||
!type of the atoms within this file
|
||||
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
|
||||
!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), &
|
||||
@ -903,7 +903,7 @@ module io
|
||||
print *, j
|
||||
do i = 1, j
|
||||
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)
|
||||
end do
|
||||
|
||||
@ -1057,7 +1057,7 @@ module io
|
||||
!Read define atom_types by mass
|
||||
do i = 1, j
|
||||
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
|
||||
|
||||
|
||||
@ -1171,7 +1171,7 @@ module io
|
||||
do i = 1, type_in
|
||||
read(11,*) j, mass
|
||||
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
|
||||
|
||||
!Read useless info
|
||||
@ -1259,7 +1259,7 @@ module io
|
||||
do i = 1, type_in
|
||||
read(11,*) j, mass, textholder
|
||||
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
|
||||
|
||||
!Read useless info
|
||||
|
@ -42,6 +42,7 @@ program main
|
||||
force_overwrite=.false.
|
||||
norefine=.false.
|
||||
wrap_flag = .false.
|
||||
all_new = .false.
|
||||
|
||||
end_mode_arg = 0
|
||||
|
||||
@ -70,6 +71,8 @@ program main
|
||||
call set_cac(i)
|
||||
case('-set_types')
|
||||
call set_types(i)
|
||||
case('-all_new')
|
||||
all_new=.true.
|
||||
end select
|
||||
end do
|
||||
!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