faunus
Public Member Functions | List of all members
Faunus::Scatter::StructureFactorPBC< Tformfactor, T, method, TSamplingPolicy > Class Template Reference

Calculate scattering intensity using explicit q averaging. More...

#include <scatter.h>

Inheritance diagram for Faunus::Scatter::StructureFactorPBC< Tformfactor, T, method, TSamplingPolicy >:
Inheritance graph
[legend]
Collaboration diagram for Faunus::Scatter::StructureFactorPBC< Tformfactor, T, method, TSamplingPolicy >:
Collaboration graph
[legend]

Public Member Functions

 StructureFactorPBC (int q_multiplier)
 
template<typename Tscatterers >
void sample (const Tscatterers &scatterers, const Point &boxlength)
 https://gcc.gnu.org/gcc-9/porting_to.html#ompdatasharing #pragma omp parallel for collapse(2) default(none) shared(directions, p_max, boxlength) shared(scatterers)
 
template<typename Tscatterers >
T calculateIntensity (const Tscatterers &scatterers, const Point &q) const
 
int getQMultiplier ()
 

Detailed Description

template<class Tformfactor = FormFactorUnity<double>, typename T = double, Algorithm method = SIMD, typename TSamplingPolicy = SamplingPolicy<T>>
class Faunus::Scatter::StructureFactorPBC< Tformfactor, T, method, TSamplingPolicy >

Calculate scattering intensity using explicit q averaging.

This averages over the thirteen permutations of the Miller index [100], [110], [101] using:

\[ I(\mathbf{q}) = \frac{1}{\sum_i f_i^2} \left < \left ( \sum_i^N f_i \sin(\mathbf{qr}_i) \right )^2 + \left ( \sum_j^N f_j \cos(\mathbf{qr}_j) \right )^2 \right > \]

For more information, see

See also
http://doi.org/d8zgw5 and
http://doi.org/10.1063/1.449987.

The documentation for this class was generated from the following file: