Fix group implementation to abide by new atom type formulation
This commit is contained in:
parent
a9833f53bf
commit
612cea3891
@ -2,6 +2,7 @@ module opt_group
|
||||
|
||||
!This module contains all code associated with dislocations
|
||||
|
||||
use atoms
|
||||
use parameters
|
||||
use elements
|
||||
use subroutines
|
||||
@ -106,7 +107,7 @@ module opt_group
|
||||
|
||||
integer :: i, j, arglen, in_num
|
||||
character(len=100) :: textholder, type_spec
|
||||
real(kind=dp) H
|
||||
real(kind=dp) H, mass
|
||||
|
||||
!Parse type and shape command
|
||||
arg_pos = arg_pos + 1
|
||||
@ -493,7 +494,8 @@ module opt_group
|
||||
arg_pos = arg_pos + 1
|
||||
call get_command_argument(arg_pos, textholder, arglen)
|
||||
if (arglen==0) stop "Missing atom type for group"
|
||||
call add_atom_type(textholder, group_type)
|
||||
call atommass(textholder, mass)
|
||||
call add_atom_type(mass, group_type)
|
||||
case('notsize')
|
||||
arg_pos = arg_pos + 1
|
||||
call get_command_argument(arg_pos, textholder, arglen)
|
||||
@ -521,7 +523,8 @@ module opt_group
|
||||
arg_pos=arg_pos+1
|
||||
call get_command_argument(arg_pos, textholder, arglen)
|
||||
if (arglen==0) stop "Missing element type for insert command"
|
||||
call add_atom_type(textholder, insert_type)
|
||||
call atommass(textholder, mass)
|
||||
call add_atom_type(mass, insert_type)
|
||||
arg_pos=arg_pos + 1
|
||||
call get_command_argument(arg_pos, textholder, arglen)
|
||||
select case(trim(adjustl(textholder)))
|
||||
@ -643,15 +646,6 @@ module opt_group
|
||||
end if
|
||||
end select
|
||||
|
||||
j = 0
|
||||
do i = 1, group_atom_num
|
||||
if (atom_index(i) == 23318348) then
|
||||
j = j + 1
|
||||
end if
|
||||
end do
|
||||
|
||||
if (j > 1) stop "Code broken"
|
||||
|
||||
print *, 'Group contains ', group_ele_num, " elements and ", group_atom_num, " atoms."
|
||||
end subroutine get_group
|
||||
|
||||
@ -1193,7 +1187,7 @@ module opt_group
|
||||
subroutine alloy_group
|
||||
!This subroutine randomizes the atom types to reach desired concentrations, this only operates on atoms
|
||||
integer :: i, j, ia, type_map(10), added_types(num_species)
|
||||
real(kind=dp) :: rand
|
||||
real(kind=dp) :: rand, mass
|
||||
|
||||
|
||||
print *, "Alloying group with desired fractions", s_fractions(1:num_species)
|
||||
@ -1203,7 +1197,8 @@ module opt_group
|
||||
|
||||
!Now get the atom type maps for all the atoms and make the fractions a running sum
|
||||
do i = 1, num_species
|
||||
call add_atom_type(species_type(i), type_map(i))
|
||||
call atommass(species_type(i), mass)
|
||||
call add_atom_type(mass, type_map(i))
|
||||
if(i > 1) s_fractions(i) = s_fractions(i) + s_fractions(i-1)
|
||||
end do
|
||||
!Now randomize the atom types
|
||||
|
Loading…
x
Reference in New Issue
Block a user