- Categories
- Shape-Independent
- Fractal
- fractal.c
Fractal - fractal.c
#define INVALID(p) (p.fractal_dim < 0.0)
static double
form_volume(double radius)
{
return M_4PI_3 * cube(radius);
}
static double
Iq(double q,
double volfraction,
double radius,
double fractal_dim,
double cor_length,
double sld_block,
double sld_solvent)
{
const double sq = fractal_sq(q, radius, fractal_dim, cor_length);
//calculate P(q) for the spherical subunits
const double pq = square(form_volume(radius) * (sld_block-sld_solvent)
*sas_3j1x_x(q*radius));
// scale to units cm-1 sr-1 (assuming data on absolute scale)
// convert I(1/A) to (1/cm) => 1e8 * I(q)
// convert rho^2 in 10^-6 1/A to 1/A => 1e-12 * I(q)
// combined: 1e-4 * I(q)
return 1.e-4 * volfraction * sq * pq;
}
Back to Model
Download