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.
40 lines
1.0 KiB
40 lines
1.0 KiB
subroutine pvextBtensor(p1,m1s,m2s,FB0,FB1,FB2)
|
|
implicit none
|
|
C p1 is 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/pvextBv.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)
|
|
real(dp)::p1(4),p1Dp1,m1s,m2s
|
|
integer n1,n2,B0i,pvextBcache
|
|
logical,save:: first=.true.
|
|
!$omp threadprivate(first)
|
|
|
|
if (first) then
|
|
first=.false.
|
|
call pvarraysetup
|
|
endif
|
|
|
|
|
|
p1Dp1=p1(4)**2-p1(1)**2-p1(2)**2-p1(3)**2
|
|
B0i=pvextBcache(p1Dp1,m1s,m2s)
|
|
FB0(:)=Bv(B0i+bb0,:)
|
|
|
|
do n1=1,4
|
|
FB1(n1,:)=Bv(B0i+bb1,:)*p1(n1)
|
|
enddo
|
|
|
|
|
|
do n1=1,4
|
|
do n2=n1,4
|
|
FB2(y2(n1,n2),:)=p1(n1)*p1(n2)*Bv(B0i+bb11,:)
|
|
. +g(n1,n2)*Bv(B0i+bb00,:)
|
|
enddo
|
|
enddo
|
|
|
|
return
|
|
end
|
|
|