def intensitiesFFIntraAtom(nq, dq, partNrs, nameList, ffDict):
""" uses atomistic form factors """
dIntensity = np.zeros((nq, 2), dtype=float)
partInt = np.zeros((nq, len(partNrs) + 1))
qList = np.zeros(nq)
qList[:] = [float(i * dq) for i in range(nq)]
dIntensity[:, 0] = qList[:]
partInt[:, 0] = qList[:]
# for j in range(0,len(dIntegrand)):
# r=dIntegrand[j,0]
# sinc=j0(q*r)
k = 0
formFacProd = np.zeros((nq, len(partNrs) + 1))
# partNrsProd=getPartNrsProd(partNrs)
# print "partNrsProd ", partNrsProd
for i in range(nq):
for k in range(1, len(partNrs) + 1):
# print k
formFacProd[i, k] = ff.fiveGaussian(
ffDict[nameList[k - 1]], qList[i]) ** 2
partInt[i, k] += partNrs[k - 1] * formFacProd[i, k]
for i in range(nq):
dIntensity[i, 1] = partInt[i, 1:].sum()
return partInt, dIntensity
评论列表
文章目录