I(q) and p(r) calculator
This Javascript calculates the scattering curve I(q) in reciprocal space and the the distance distribution function p(r) in real space of models consisting of up to 20 spheres placed at different x/y/z coordinates having the same or different radii and electron densities by using the Debye-formula in reciprocal and in real space, respectively. Enter the number of spheres, their coordinates x(i), y(i), z(i), their radii r(i) and their electron-densities c(i). The spheres can also overlap (totally or partially) where the resulting electron density of the overlapping region is the sum of the overlapping electron densities. For n(I) points the I(q) from q = 0 to qz with a scaling factor f(I) and for n(p) points from r = 0 to rz with a scaling factor f(p) will be calculated. The parameters Radius of Gyration (Rg), I(0) and gamma(0) are also listed and if f(I) = 0 or f(p) = 0 is entered, the respective function will be normalized to I(0) = 1 or gamm(0) = 1. The values are listed and displayed in I vs q (left plot, optionally log(I) can be plotted) and p(r) vs r (right plot, optionally gamma(r) being p(r)/(r*r) can be plotted) in arbitrary units and can be copied and pasted from the window into any text-file for further processing and graphical displaying. An animation of the preloaded model can be seen here.

Input I(q)/p(r) action
I(q) log I qz n(I) f(I)
p(r) g(r) rz n(p) f(p)
x(1) y(1) z(1) r(1) c(1)
x(2) y(2) z(2) r(2) c(2)
x(3) y(3) z(3) r(3) c(3)
x(4) y(4) z(4) r(4) c(4)
x(5) y(5) z(5) r(5) c(5)
x(6) y(6) z(6) r(6) c(6)
x(7) y(7) z(7) r(7) c(7)
x(8) y(8) z(8) r(8) c(8)
x(9) y(9) z(9) r(9) c(9)
x(10) y(10) z(10) r(10) c(10)
x(11) y(11) z(11) r(11) c(11)
x(12) y(12) z(12) r(12) c(12)
x(13) y(13) z(13) r(13) c(13)
x(14) y(14) z(14) r(14) c(14)
x(15) y(15) z(15) r(15) c(15)
x(16) y(16) z(16) r(16) c(16)
x(17) y(17) z(17) r(17) c(17)
x(18) y(18) z(18) r(18) c(18)
x(19) y(19) z(19) r(19) c(19)
x(20) y(20) z(20) r(20) c(20)

n spheres
Rg
I0
g0
Author: M.Kriechbaum, TU-Graz (2020), e-mail: manfred.kriechbaum@tugraz.at