You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.8 KiB
54 lines
2.8 KiB
subroutine pvvcalc(p2,p3,p4,p5,v2,v3,v4,v5)
|
|
implicit none
|
|
include 'lib/TensorReduction/Include/types.f'
|
|
real(dp):: p2(4),p3(4),p4(4),p5(4),v2(4),v3(4),v4(4),v5(4)
|
|
real(dp):: v2Dp2,v3Dp3,v4Dp4,v5Dp5
|
|
integer j
|
|
v2(1)=+(p3(2)*p4(3)*p5(4)+p3(4)*p4(2)*p5(3)+p3(3)*p4(4)*p5(2)
|
|
. -p3(2)*p4(4)*p5(3)-p3(3)*p4(2)*p5(4)-p3(4)*p4(3)*p5(2))
|
|
v2(2)=-(p3(3)*p4(4)*p5(1)+p3(1)*p4(3)*p5(4)+p3(4)*p4(1)*p5(3)
|
|
. -p3(3)*p4(1)*p5(4)-p3(4)*p4(3)*p5(1)-p3(1)*p4(4)*p5(3))
|
|
v2(3)=+(p3(4)*p4(1)*p5(2)+p3(2)*p4(4)*p5(1)+p3(1)*p4(2)*p5(4)
|
|
. -p3(4)*p4(2)*p5(1)-p3(1)*p4(4)*p5(2)-p3(2)*p4(1)*p5(4))
|
|
v2(4)=+(p3(1)*p4(2)*p5(3)+p3(3)*p4(1)*p5(2)+p3(2)*p4(3)*p5(1)
|
|
. -p3(1)*p4(3)*p5(2)-p3(2)*p4(1)*p5(3)-p3(3)*p4(2)*p5(1))
|
|
|
|
v3(1)=+(p2(2)*p4(3)*p5(4)+p2(4)*p4(2)*p5(3)+p2(3)*p4(4)*p5(2)
|
|
. -p2(2)*p4(4)*p5(3)-p2(3)*p4(2)*p5(4)-p2(4)*p4(3)*p5(2))
|
|
v3(2)=-(p2(3)*p4(4)*p5(1)+p2(1)*p4(3)*p5(4)+p2(4)*p4(1)*p5(3)
|
|
. -p2(3)*p4(1)*p5(4)-p2(4)*p4(3)*p5(1)-p2(1)*p4(4)*p5(3))
|
|
v3(3)=+(p2(4)*p4(1)*p5(2)+p2(2)*p4(4)*p5(1)+p2(1)*p4(2)*p5(4)
|
|
. -p2(4)*p4(2)*p5(1)-p2(1)*p4(4)*p5(2)-p2(2)*p4(1)*p5(4))
|
|
v3(4)=+(p2(1)*p4(2)*p5(3)+p2(3)*p4(1)*p5(2)+p2(2)*p4(3)*p5(1)
|
|
. -p2(1)*p4(3)*p5(2)-p2(2)*p4(1)*p5(3)-p2(3)*p4(2)*p5(1))
|
|
|
|
v4(1)=+(p2(2)*p3(3)*p5(4)+p2(4)*p3(2)*p5(3)+p2(3)*p3(4)*p5(2)
|
|
. -p2(2)*p3(4)*p5(3)-p2(3)*p3(2)*p5(4)-p2(4)*p3(3)*p5(2))
|
|
v4(2)=-(p2(3)*p3(4)*p5(1)+p2(1)*p3(3)*p5(4)+p2(4)*p3(1)*p5(3)
|
|
. -p2(3)*p3(1)*p5(4)-p2(4)*p3(3)*p5(1)-p2(1)*p3(4)*p5(3))
|
|
v4(3)=+(p2(4)*p3(1)*p5(2)+p2(2)*p3(4)*p5(1)+p2(1)*p3(2)*p5(4)
|
|
. -p2(4)*p3(2)*p5(1)-p2(1)*p3(4)*p5(2)-p2(2)*p3(1)*p5(4))
|
|
v4(4)=+(p2(1)*p3(2)*p5(3)+p2(3)*p3(1)*p5(2)+p2(2)*p3(3)*p5(1)
|
|
. -p2(1)*p3(3)*p5(2)-p2(2)*p3(1)*p5(3)-p2(3)*p3(2)*p5(1))
|
|
|
|
v5(1)=+(p2(2)*p3(3)*p4(4)+p2(4)*p3(2)*p4(3)+p2(3)*p3(4)*p4(2)
|
|
. -p2(2)*p3(4)*p4(3)-p2(3)*p3(2)*p4(4)-p2(4)*p3(3)*p4(2))
|
|
v5(2)=-(p2(3)*p3(4)*p4(1)+p2(1)*p3(3)*p4(4)+p2(4)*p3(1)*p4(3)
|
|
. -p2(3)*p3(1)*p4(4)-p2(4)*p3(3)*p4(1)-p2(1)*p3(4)*p4(3))
|
|
v5(3)=+(p2(4)*p3(1)*p4(2)+p2(2)*p3(4)*p4(1)+p2(1)*p3(2)*p4(4)
|
|
. -p2(4)*p3(2)*p4(1)-p2(1)*p3(4)*p4(2)-p2(2)*p3(1)*p4(4))
|
|
v5(4)=+(p2(1)*p3(2)*p4(3)+p2(3)*p3(1)*p4(2)+p2(2)*p3(3)*p4(1)
|
|
. -p2(1)*p3(3)*p4(2)-p2(2)*p3(1)*p4(3)-p2(3)*p3(2)*p4(1))
|
|
|
|
v2Dp2=v2(4)*p2(4)-v2(1)*p2(1)-v2(2)*p2(2)-v2(3)*p2(3)
|
|
v3Dp3=v3(4)*p3(4)-v3(1)*p3(1)-v3(2)*p3(2)-v3(3)*p3(3)
|
|
v4Dp4=v4(4)*p4(4)-v4(1)*p4(1)-v4(2)*p4(2)-v4(3)*p4(3)
|
|
v5Dp5=v5(4)*p5(4)-v5(1)*p5(1)-v5(2)*p5(2)-v5(3)*p5(3)
|
|
do j=1,4
|
|
v2(j)=v2(j)/v2Dp2
|
|
v3(j)=v3(j)/v3Dp3
|
|
v4(j)=v4(j)/v4Dp4
|
|
v5(j)=v5(j)/v5Dp5
|
|
enddo
|
|
return
|
|
end
|