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