More compatability fixes for new version of CAC

development
Alex Selimov 4 years ago
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

@ -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
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)
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…
Cancel
Save