Cross product of two vectors
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ixImin1 | |||
| integer, | intent(in) | :: | ixImin2 | |||
| integer, | intent(in) | :: | ixImin3 | |||
| integer, | intent(in) | :: | ixImax1 | |||
| integer, | intent(in) | :: | ixImax2 | |||
| integer, | intent(in) | :: | ixImax3 | |||
| integer, | intent(in) | :: | ixOmin1 | |||
| integer, | intent(in) | :: | ixOmin2 | |||
| integer, | intent(in) | :: | ixOmin3 | |||
| integer, | intent(in) | :: | ixOmax1 | |||
| integer, | intent(in) | :: | ixOmax2 | |||
| integer, | intent(in) | :: | ixOmax3 | |||
| double precision, | intent(in) | :: | a(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,3) | |||
| double precision, | intent(in) | :: | b(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,3) | |||
| double precision, | intent(out) | :: | axb(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,3) |
pure subroutine cross_product(ixImin1,ixImin2,ixImin3,ixImax1,ixImax2,& ixImax3,ixOmin1,ixOmin2,ixOmin3,ixOmax1,ixOmax2,ixOmax3,a,b,axb) integer, intent(in) :: ixImin1,ixImin2,ixImin3,ixImax1,ixImax2,ixImax3,& ixOmin1,ixOmin2,ixOmin3,ixOmax1,ixOmax2,ixOmax3 double precision, intent(in) :: a(ixImin1:ixImax1,ixImin2:ixImax2,& ixImin3:ixImax3,3), b(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,& 3) double precision, intent(out) :: axb(ixImin1:ixImax1,ixImin2:ixImax2,& ixImin3:ixImax3,3) axb(ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,1)=a(ixOmin1:ixOmax1,& ixOmin2:ixOmax2,ixOmin3:ixOmax3,2)*b(ixOmin1:ixOmax1,ixOmin2:ixOmax2,& ixOmin3:ixOmax3,3)-a(ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,& 3)*b(ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,2) axb(ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,2)=a(ixOmin1:ixOmax1,& ixOmin2:ixOmax2,ixOmin3:ixOmax3,3)*b(ixOmin1:ixOmax1,ixOmin2:ixOmax2,& ixOmin3:ixOmax3,1)-a(ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,& 1)*b(ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,3) axb(ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,3)=a(ixOmin1:ixOmax1,& ixOmin2:ixOmax2,ixOmin3:ixOmax3,1)*b(ixOmin1:ixOmax1,ixOmin2:ixOmax2,& ixOmin3:ixOmax3,2)-a(ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,& 2)*b(ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,1) end subroutine cross_product