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.
 
 
 
 
 
 

126 lines
2.7 KiB

subroutine pvBtensor(q1,m1s,m2s,FB0,FB1,FB2,FB3,FB4,FB5,FB6)
implicit none
C q1 is the momentum in the loop = p1 the external momenta
C m1s,m2s are the squares of the internal masses
include 'lib/TensorReduction/Include/types.f'
include 'lib/TensorReduction/Include/pvBnames.f'
include 'lib/TensorReduction/Include/pvBv.f'
include 'lib/TensorReduction/Include/TRydef.f'
include 'lib/TensorReduction/Include/TRmetric.f'
complex(dp):: FB0(-2:0),FB1(y1max,-2:0),
. FB2(y2max,-2:0),FB3(y3max,-2:0),FB4(y4max,-2:0),FB5(y5max,-2:0)
. ,FB6(y6max,-2:0)
real(dp)::q1(4),q1Dq1,m1s,m2s
real(dp)::pvSDDP,pvSDDDD,pvSDDPP,pvSDDDDP,pvSDDPPP,
. pvSDDDDPP,pvSDDPPPP,pvSDDDDDD
integer::n1,n2,n3,n4,n5,n6,ep,B0i,pvBcache
logical,save:: first=.true.
!$omp threadprivate(first)
if (first) then
first=.false.
call pvarraysetup
endif
q1Dq1=q1(4)**2-q1(1)**2-q1(2)**2-q1(3)**2
B0i=pvBcache(q1Dq1,m1s,m2s)
do ep=-2,0
FB0(ep)=Bv(B0i+bb0,ep)
enddo
do ep=-2,0
do n1=1,4
FB1(n1,ep)=Bv(B0i+bb1,ep)*q1(n1)
enddo
enddo
do ep=-2,0
do n1=1,4
do n2=n1,4
FB2(y2(n1,n2),ep)=q1(n1)*q1(n2)*Bv(B0i+bb11,ep)
. +g(n1,n2)*Bv(B0i+bb00,ep)
enddo
enddo
enddo
do ep=-2,0
do n1=1,4
do n2=n1,4
do n3=n2,4
FB3(y3(n1,n2,n3),ep)=q1(n1)*q1(n2)*q1(n3)*Bv(B0i+bb111,ep)
. +pvSDDP(n1,n2,n3,q1)*Bv(B0i+bb001,ep)
enddo
enddo
enddo
enddo
do ep=-2,0
do n1=1,4
do n2=n1,4
do n3=n2,4
do n4=n3,4
FB4(y4(n1,n2,n3,n4),ep)=
. +q1(n1)*q1(n2)*q1(n3)*q1(n4)*Bv(B0i+bb1111,ep)
. +pvSDDPP(n1,n2,n3,n4,q1)*Bv(B0i+bb0011,ep)
. +pvSDDDD(n1,n2,n3,n4)*Bv(B0i+bb0000,ep)
enddo
enddo
enddo
enddo
enddo
do ep=-2,0
do n1=1,4
do n2=n1,4
do n3=n2,4
do n4=n3,4
do n5=n4,4
FB5(y5(n1,n2,n3,n4,n5),ep)=
. +Bv(B0i+bb00001,ep)*pvSDDDDP(n1,n2,n3,n4,n5,q1)
. +Bv(B0i+bb00111,ep)*pvSDDPPP(n1,n2,n3,n4,n5,q1)
. +Bv(B0i+bb11111,ep)*q1(n1)*q1(n2)*q1(n3)*q1(n4)*q1(n5)
enddo
enddo
enddo
enddo
enddo
enddo
do ep=-2,0
do n1=1,4
do n2=n1,4
do n3=n2,4
do n4=n3,4
do n5=n4,4
do n6=n5,4
FB6(y6(n1,n2,n3,n4,n5,n6),ep)=
. +Bv(B0i+bb000000,ep)*pvSDDDDDD(n1,n2,n3,n4,n5,n6)
. +Bv(B0i+bb000011,ep)*pvSDDDDPP(n1,n2,n3,n4,n5,n6,q1)
. +Bv(B0i+bb001111,ep)*pvSDDPPPP(n1,n2,n3,n4,n5,n6,q1)
. +Bv(B0i+bb111111,ep)*q1(n1)*q1(n2)*q1(n3)*q1(n4)*q1(n5)*q1(n6)
enddo
enddo
enddo
enddo
enddo
enddo
enddo
return
end