# Scattering

class Scattering : public feasst::Analyze

Compute the scattering intensity.

$$F(\vec{q}) = \sum f_i(|\vec{q}|R_i) \exp(-i \vec{q} \cdot \vec{r}_i)$$

where $$r$$ is the position of site $$i$$, $$q$$ is the frequency and $$f_i$$ are the scattering lengths, assumed to be spherical with a radius, $$R_i = \sigma_i$$.

$$f(qR) = 3 V(R) \frac{\sin(qR)-qR\cos(qr)}{q^3R^3}$$,

$$V(R)=\frac{4}{3}\pi R^3$$.

The intensity, $$I$$, is then given by the $$F(\vec{q})$$ multiplied by its complex conjugate:

$$I(q) = |F(\vec{q})|^2$$.

Public Functions

void initialize(Criteria *criteria, System *system, TrialFactory *trial_factory)

Initialize and precompute before trials.

void update(const Criteria &criteria, const System &system, const TrialFactory &trial_factory)

Perform update action.

std::string write(const Criteria &criteria, const System &system, const TrialFactory &trial_factory)

Perform write action.

Arguments

• num_frequency: the number of linearly spaced frequencies between the largest and the smallest, 2*pi/minimum_domain_length (default: 100).

• Stepper arguments.