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.
129 lines
4.0 KiB
129 lines
4.0 KiB
subroutine pvextDtensor(p1,p2,p3,m1s,m2s,m3s,m4s,
|
|
& FD0,FD1,FD2,FD3,FD4)
|
|
implicit none
|
|
C p1,p2,p3 are the external momenta
|
|
C m1s,m2s,m3s,m4s are the squares of the masses in the propagators
|
|
include 'lib/TensorReduction/Include/types.f'
|
|
include 'lib/TensorReduction/Include/pvDnames.f'
|
|
include 'lib/TensorReduction/Include/pvextDv.f'
|
|
include 'lib/TensorReduction/Include/TRydef.f'
|
|
include 'lib/TensorReduction/Include/TRmetric.f'
|
|
complex(dp):: FD0(-2:0),FD1(y1max,-2:0),FD2(y2max,-2:0),
|
|
& FD3(y3max,-2:0),FD4(y4max,-2:0)
|
|
real(dp):: p1Dp1,p2Dp2,p3Dp3,p4Dp4,
|
|
& s12,s23,p1(4),p2(4),p3(4),p4(4),p12(4),p23(4),m1s,m2s,m3s,m4s
|
|
real(dp):: pvSPK,pvSPKL,pvSPKK,pvSDDP,
|
|
& pvSPKKK,pvSPPKK,pvSPPKL,pvSDDPP,pvSDDPK,pvSDDDD
|
|
integer:: n1,n2,n3,n4,pvextDcache,D01
|
|
logical,save:: first=.true.
|
|
!$omp threadprivate(first)
|
|
|
|
if (first) then
|
|
first=.false.
|
|
call pvarraysetup
|
|
endif
|
|
|
|
call pvYcalc(p1,p2,p3,m1s,m2s,m3s,m4s)
|
|
|
|
|
|
C p1,p2,p3,p4 are the external momenta
|
|
p4(:)=-p1(:)-p2(:)-p3(:)
|
|
p12(:)=p1(:)+p2(:)
|
|
p23(:)=p2(:)+p3(:)
|
|
|
|
p1Dp1=p1(4)**2-p1(1)**2-p1(2)**2-p1(3)**2
|
|
p2Dp2=p2(4)**2-p2(1)**2-p2(2)**2-p2(3)**2
|
|
p3Dp3=p3(4)**2-p3(1)**2-p3(2)**2-p3(3)**2
|
|
p4Dp4=p4(4)**2-p4(1)**2-p4(2)**2-p4(3)**2
|
|
s12=p12(4)**2-p12(1)**2-p12(2)**2-p12(3)**2
|
|
s23=p23(4)**2-p23(1)**2-p23(2)**2-p23(3)**2
|
|
|
|
|
|
D01=pvextDcache(p1Dp1,p2Dp2,p3Dp3,p4Dp4,s12,s23,m1s,m2s,m3s,m4s)
|
|
|
|
FD0(:)=Dv(D01+dd0,:)
|
|
|
|
do n1=1,4
|
|
FD1(n1,:)=
|
|
& +Dv(D01+dd1,:)*p1(n1)
|
|
& +Dv(D01+dd2,:)*p2(n1)
|
|
& +Dv(D01+dd3,:)*p3(n1)
|
|
enddo
|
|
|
|
|
|
do n1=1,4
|
|
do n2=n1,4
|
|
FD2(y2(n1,n2),:)=
|
|
& +p1(n1)*p1(n2)*Dv(D01+dd11,:)
|
|
& +p2(n1)*p2(n2)*Dv(D01+dd22,:)
|
|
& +p3(n1)*p3(n2)*Dv(D01+dd33,:)
|
|
& +pvSPK(n1,n2,p1,p2)*Dv(D01+dd12,:)
|
|
& +pvSPK(n1,n2,p1,p3)*Dv(D01+dd13,:)
|
|
& +pvSPK(n1,n2,p2,p3)*Dv(D01+dd23,:)
|
|
& +g(n1,n2)*Dv(D01+dd00,:)
|
|
enddo
|
|
enddo
|
|
|
|
|
|
do n1=1,4
|
|
do n2=n1,4
|
|
do n3=n2,4
|
|
FD3(y3(n1,n2,n3),:)=
|
|
& +p1(n1)*p1(n2)*p1(n3)*Dv(D01+dd111,:)
|
|
& +p2(n1)*p2(n2)*p2(n3)*Dv(D01+dd222,:)
|
|
& +p3(n1)*p3(n2)*p3(n3)*Dv(D01+dd333,:)
|
|
& +pvSPKK(n1,n2,n3,p2,p1)*Dv(D01+dd112,:)
|
|
& +pvSPKK(n1,n2,n3,p3,p1)*Dv(D01+dd113,:)
|
|
& +pvSPKK(n1,n2,n3,p1,p2)*Dv(D01+dd122,:)
|
|
& +pvSPKK(n1,n2,n3,p1,p3)*Dv(D01+dd133,:)
|
|
& +pvSPKK(n1,n2,n3,p3,p2)*Dv(D01+dd223,:)
|
|
& +pvSPKK(n1,n2,n3,p2,p3)*Dv(D01+dd233,:)
|
|
& +pvSPKL(n1,n2,n3,p1,p2,p3)*Dv(D01+dd123,:)
|
|
& +pvSDDP(n1,n2,n3,p1)*Dv(D01+dd001,:)
|
|
& +pvSDDP(n1,n2,n3,p2)*Dv(D01+dd002,:)
|
|
& +pvSDDP(n1,n2,n3,p3)*Dv(D01+dd003,:)
|
|
enddo
|
|
enddo
|
|
enddo
|
|
|
|
|
|
do n1=1,4
|
|
do n2=n1,4
|
|
do n3=n2,4
|
|
do n4=n3,4
|
|
FD4(y4(n1,n2,n3,n4),:)=
|
|
& +p1(n1)*p1(n2)*p1(n3)*p1(n4)*Dv(D01+dd1111,:)
|
|
& +p2(n1)*p2(n2)*p2(n3)*p2(n4)*Dv(D01+dd2222,:)
|
|
& +p3(n1)*p3(n2)*p3(n3)*p3(n4)*Dv(D01+dd3333,:)
|
|
& +pvSPKKK(n1,n2,n3,n4,p2,p1)*Dv(D01+dd1112,:)
|
|
& +pvSPKKK(n1,n2,n3,n4,p3,p1)*Dv(D01+dd1113,:)
|
|
& +pvSPKKK(n1,n2,n3,n4,p1,p2)*Dv(D01+dd1222,:)
|
|
& +pvSPKKK(n1,n2,n3,n4,p3,p2)*Dv(D01+dd2223,:)
|
|
& +pvSPKKK(n1,n2,n3,n4,p1,p3)*Dv(D01+dd1333,:)
|
|
& +pvSPKKK(n1,n2,n3,n4,p2,p3)*Dv(D01+dd2333,:)
|
|
|
|
& +pvSPPKK(n1,n2,n3,n4,p1,p2)*Dv(D01+dd1122,:)
|
|
& +pvSPPKK(n1,n2,n3,n4,p1,p3)*Dv(D01+dd1133,:)
|
|
& +pvSPPKK(n1,n2,n3,n4,p2,p3)*Dv(D01+dd2233,:)
|
|
|
|
& +pvSPPKL(n1,n2,n3,n4,p1,p2,p3)*Dv(D01+dd1123,:)
|
|
& +pvSPPKL(n1,n2,n3,n4,p2,p1,p3)*Dv(D01+dd1223,:)
|
|
& +pvSPPKL(n1,n2,n3,n4,p3,p1,p2)*Dv(D01+dd1233,:)
|
|
|
|
& +pvSDDPP(n1,n2,n3,n4,p1)*Dv(D01+dd0011,:)
|
|
& +pvSDDPP(n1,n2,n3,n4,p2)*Dv(D01+dd0022,:)
|
|
& +pvSDDPP(n1,n2,n3,n4,p3)*Dv(D01+dd0033,:)
|
|
|
|
& +pvSDDPK(n1,n2,n3,n4,p1,p2)*Dv(D01+dd0012,:)
|
|
& +pvSDDPK(n1,n2,n3,n4,p2,p3)*Dv(D01+dd0023,:)
|
|
& +pvSDDPK(n1,n2,n3,n4,p1,p3)*Dv(D01+dd0013,:)
|
|
|
|
& +pvSDDDD(n1,n2,n3,n4)*Dv(D01+dd0000,:)
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
|
|
return
|
|
end
|
|
|