More compatability fixes for new version of CAC
This commit is contained in:
parent
2e7571cfa5
commit
85135e7c95
@ -325,7 +325,7 @@ module elements
|
||||
end if
|
||||
!Check to see if we need to grow the arrays
|
||||
call grow_ele_arrays(0,1)
|
||||
tag_atom(atom_num) = tag
|
||||
tag_atom(atom_num) = newtag
|
||||
type_atom(atom_num) = type
|
||||
r_atom(:,atom_num) = r(:)
|
||||
sbox_atom(atom_num) = sbox
|
||||
|
36
src/io.f90
36
src/io.f90
@ -204,7 +204,7 @@ module io
|
||||
write(11, '(a)') 'Atoms'
|
||||
write(11, '(a)') ' '
|
||||
do i = 1, atom_num
|
||||
write(11, '(2i16, 3f23.15)') i, type_atom(i), r_atom(:,i)
|
||||
write(11, '(2i16, 3f23.15)') tag_atom(i), type_atom(i), r_atom(:,i)
|
||||
end do
|
||||
|
||||
!Write refined element atomic positions
|
||||
@ -833,14 +833,16 @@ module io
|
||||
real(kind = dp), dimension(6), intent(out) :: temp_box_bd
|
||||
|
||||
integer :: i, inod, ibasis, j, k, l, in_eles, in_atoms, ele_types, in_lat_num, in_atom_types, &
|
||||
atom_type_map(100), etype_map(100), etype, lat_type, new_lattice_map(100), &
|
||||
atom_type, stat
|
||||
real(kind=dp) :: newdisplace(3), r_in(3,1,8), r_in_atom(3), atomic_masses(10)
|
||||
character(len=100) :: textholder, in_lattype_map(10)
|
||||
atom_type_map(100), etype_map(100), lat_type, new_lattice_map(100), &
|
||||
atom_type, stat, bnum, nnum, esize, btypes(10), tmp, ip, jp
|
||||
real(kind=dp) :: newdisplace(3), r_in(3,10,8), r_in_atom(3), atomic_masses(10)
|
||||
character(len=100) :: textholder, etype
|
||||
character(len=2) :: atomic_element
|
||||
!First open the file
|
||||
open(unit=11, file=trim(adjustl(file)), action='read',position='rewind')
|
||||
|
||||
etype = 'fcc'
|
||||
|
||||
!Read the timestep information
|
||||
read(11,*) textholder
|
||||
read(11,*) timestep, total_time
|
||||
@ -866,7 +868,7 @@ module io
|
||||
read(textholder, *) (atomic_masses(i), i=1, j)
|
||||
|
||||
!Read define atom_types by mass
|
||||
do i = 1, in_atom_types
|
||||
do i = 1, j
|
||||
call atommassspecies(atomic_masses(i), atomic_element)
|
||||
call add_atom_type(atomic_element, atom_type_map(i))
|
||||
end do
|
||||
@ -876,6 +878,7 @@ module io
|
||||
read(11,*) box_bc
|
||||
|
||||
!Read box boundaries and displace them if necessary
|
||||
read(11,*) textholder
|
||||
read(11,*) temp_box_bd(:)
|
||||
do i = 1, 3
|
||||
if (abs(displace(i)) > lim_zero) then
|
||||
@ -902,34 +905,39 @@ module io
|
||||
sub_box_bd(:, sub_box_num+1) = temp_box_bd
|
||||
|
||||
!Read in more useless info
|
||||
do i = 1, 9
|
||||
do i = 1, 4
|
||||
read(11,*) textholder
|
||||
end do
|
||||
|
||||
!Now start reading the elements
|
||||
if(in_eles > 0) then
|
||||
ip = 0
|
||||
r_in(:,:,:) = 0
|
||||
read(11,*) textholder
|
||||
read(11,*) textholder
|
||||
read(11,*) textholder
|
||||
do i = 1, in_eles
|
||||
read(11,*) j, etype, k, lat_type
|
||||
read(11,*) j, bnum, tmp, esize
|
||||
do inod = 1, 8
|
||||
read(11, *) k, l, r_in(:,1,inod)
|
||||
r_in(:,1,inod) = r_in(:,1,inod) + newdisplace
|
||||
do ibasis = 1, bnum
|
||||
read(11, *) k, l, btypes(l), r_in(:,l,k-ip)
|
||||
r_in(:,l,k-ip) = r_in(:,l,k-ip) + newdisplace
|
||||
end do
|
||||
call add_element(j, in_lattype_map(lat_type), etype_map(etype), new_lattice_map(lat_type), sub_box_num + 1, r_in)
|
||||
end do
|
||||
ip = ip + 8
|
||||
call lattice_map(bnum, btypes, 8, 1.0_dp, lat_type)
|
||||
call add_element(j, etype, esize+1, lat_type, sub_box_num + 1, r_in(:,1:max_basisnum, 1:max_ng_node))
|
||||
end do
|
||||
end if
|
||||
|
||||
if(in_atoms > 0) then
|
||||
|
||||
if (in_eles > 0) then
|
||||
!Read useless data
|
||||
read(11,*) textholder
|
||||
read(11,*) textholder
|
||||
end if
|
||||
|
||||
do i = 1, in_atoms
|
||||
read(11,*, iostat=stat) j, k, atom_type, r_in_atom(:)
|
||||
read(11,*, iostat=stat) j, atom_type, r_in_atom(:)
|
||||
if(stat > 0) then
|
||||
print *, j
|
||||
stop
|
||||
|
Loading…
x
Reference in New Issue
Block a user