I(q) function calculator of concentric shell models

This Javascript calculates the scattering curve I(q) of concentric shell models (ellipsoids, cylinders or mixed). Enter the number of shells, the values for the radius R(i) and semi-axis Rz(i) (z is in direction of the axis of revolution of the ellipsoid or in the direction of the cylinder axis, note: Rz is half of the cylinder height!), the corresponding electron-density c(i) (between R(i) and R(i-1)) and the shape of the shell (E=ellipsoid, C=cylinder), starting with the innermost shell (R1 and Rz1). For Nr q-values I(q) from q = 0 to qz with a scaling factor f will be calculated. P is the number of points used for the numerical integration. The curves can be multiplied by q^n (with n being -2/-1/0/1/2) and an offset can be added (for vertical shifting of multiple curves). The values are listed in I(q) vs q (where I(q) and/or q can be lin or log, respectively) in arbitrary units and can be copied and pasted from the text-window into any text-file for further processing and graphical displaying. The plot itself can be saved as a png-image file (see options by placing cursor on plot).

Input I(q)
shells Nr P
f offset qz
R(1) Rz(1) c(1)
R(2) Rz(2) c(2)
R(3) Rz(3) c(3)
R(4) Rz(4) c(4)
R(5) Rz(5) c(5)
R(6) Rz(6) c(6)
R(7) Rz(7) c(7)
R(8) Rz(8) c(8)

lin (q) log (q)
lin I(q) log I(q)
overlay no overlay

Author: M.Kriechbaum, TU-Graz (2015), e-mail: manfred.kriechbaum@tugraz.at