36 type(
fmom):: zax, vec1, vec2
59 real*8 el2, em2, d, a, b, c
60 real*8 tmpa, tmpb, tmpc, pabs
64 pabs = sqrt(zax%p(1)**2 + zax%p(2)**2 + zax%p(3)**2)
70 zaxdir%p(1) = zax%p(1)/pabs
71 zaxdir%p(2) = zax%p(2)/pabs
72 zaxdir%p(3) = zax%p(3)/pabs
78 if(abs(d) .gt. epsx)
then 80 b=zaxdir%p(1)*zaxdir%p(2)/d
82 tmpa=a*vec1%p(1) + b*vec1%p(2) + zaxdir%p(1)*vec1%p(3)
83 tmpb=b*vec1%p(1) + c*vec1%p(2) + zaxdir%p(2)*vec1%p(3)
88 tmpc=zaxdir%p(1)*vec1%p(1) + zaxdir%p(2)*vec1%p(2) +
89 * zaxdir%p(3)*vec1%p(3)
114 real*8 xnorm, ynorm, pnorm, sum, ax, ay, az
117 save x, y, xnorm, ynorm, pnorm
124 pnorm = sqrt(p1%p(1)**2 + p1%p(2)**2 + p1%p(3)**2)
126 if( pnorm .eq. 0.0 )
then 136 sum = -(p1%p(1) + p1%p(2))
141 sum = -(p1%p(2) + p1%p(3))
146 elseif(ay .gt. ax )
then 147 sum = -(p1%p(1) + p1%p(3))
152 sum = -(p1%p(2) + p1%p(3))
158 y%p(1) = p1%p(2)* x%p(3) - p1%p(3) * x%p(2)
159 y%p(2) = p1%p(3)* x%p(1) - p1%p(1) * x%p(3)
160 y%p(3) = p1%p(1)* x%p(2) - p1%p(2) * x%p(1)
164 xnorm = sqrt(x%p(1)**2 + x%p(2)**2 + x%p(3)**2)
165 ynorm = sqrt(y%p(1)**2 + y%p(2)**2 + y%p(3)**2)
172 px%p(1) = (p2%p(1)* x%p(1) + p2%p(2)* x%p(2) +
173 * p2%p(3) * x%p(3))/xnorm
174 px%p(2) = (p2%p(1)* y%p(1) + p2%p(2)* y%p(2) +
175 * p2%p(3) * y%p(3))/ynorm
176 px%p(3) = (p2%p(1)* p1%p(1) + p2%p(2)* p1%p(2) +
177 * p2%p(3) * p1%p(3))/pnorm
179 po%p(1:3) = px%p(1:3)
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
dE dx *! Nuc Int sampling table e
subroutine cirot3vec(init, p1, p2, po)
subroutine crot3vec(zax, vec1, vec2)