|
|
@ -93,10 +93,10 @@ module mode_metric
|
|
|
|
call get_command_argument(2,metric_type,arglen)
|
|
|
|
call get_command_argument(2,metric_type,arglen)
|
|
|
|
if (arglen == 0) stop "Incomplete mode metric command, check documentation"
|
|
|
|
if (arglen == 0) stop "Incomplete mode metric command, check documentation"
|
|
|
|
select case(trim(adjustl(metric_type)))
|
|
|
|
select case(trim(adjustl(metric_type)))
|
|
|
|
case("microrotation")
|
|
|
|
case("microrotation", "def_grad")
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
case default
|
|
|
|
case default
|
|
|
|
print *, "Mode metric does not accept metric ", metric_type, ". Please select from: microrotation"
|
|
|
|
print *, "Mode metric does not accept metric ", metric_type, ". Please select from: microrotation, def_grad"
|
|
|
|
stop 3
|
|
|
|
stop 3
|
|
|
|
end select
|
|
|
|
end select
|
|
|
|
|
|
|
|
|
|
|
@ -155,6 +155,7 @@ module mode_metric
|
|
|
|
do i = 1,3
|
|
|
|
do i = 1,3
|
|
|
|
do j = 1, 3
|
|
|
|
do j = 1, 3
|
|
|
|
met(k, ip) = def_grad(i,j)
|
|
|
|
met(k, ip) = def_grad(i,j)
|
|
|
|
|
|
|
|
k = k + 1
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
case('microrotation')
|
|
|
|
case('microrotation')
|
|
|
@ -228,7 +229,7 @@ module mode_metric
|
|
|
|
|
|
|
|
|
|
|
|
if(atom_num > 0) then
|
|
|
|
if(atom_num > 0) then
|
|
|
|
do i = 1, atom_num
|
|
|
|
do i = 1, atom_num
|
|
|
|
write(11,*) type_atom(i), r_atom(:,i), met(:,tag_atom(i))
|
|
|
|
write(11,*) 0, type_atom(i), r_atom(:,i), met(:,tag_atom(i))
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
@ -236,7 +237,7 @@ module mode_metric
|
|
|
|
do i = 1, ele_num
|
|
|
|
do i = 1, ele_num
|
|
|
|
do inod = 1, ng_node(lat_ele(i))
|
|
|
|
do inod = 1, ng_node(lat_ele(i))
|
|
|
|
do ibasis = 1, basisnum(lat_ele(i))
|
|
|
|
do ibasis = 1, basisnum(lat_ele(i))
|
|
|
|
write(11,*) basis_type(ibasis,lat_ele(i)), r_node(:,ibasis,inod,i), &
|
|
|
|
write(11,*) 1, basis_type(ibasis,lat_ele(i)), r_node(:,ibasis,inod,i), &
|
|
|
|
met(:, atom_num+(tag_ele(i)-1)*max_ng_node*max_basisnum + (inod-1)*max_basisnum + ibasis)
|
|
|
|
met(:, atom_num+(tag_ele(i)-1)*max_ng_node*max_basisnum + (inod-1)*max_basisnum + ibasis)
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|