Convert from Cartesian to fractional coordinates
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | cart(3) | |||
| real(kind=dp), | intent(out) | :: | frac(3) | |||
| real(kind=dp), | intent(in) | :: | inv_lat(3,3) |
subroutine utility_cart_to_frac(cart, frac, inv_lat) !================================================! ! !! Convert from Cartesian to fractional coordinates ! !================================================ implicit none real(kind=dp), intent(in) :: inv_lat(3, 3) real(kind=dp), intent(out) :: frac(3) real(kind=dp), intent(in) :: cart(3) integer :: i do i = 1, 3 frac(i) = inv_lat(i, 1)*cart(1) + inv_lat(i, 2)*cart(2) + inv_lat(i, 3)*cart(3) end do return end subroutine utility_cart_to_frac