|
PSCF v1.4.0
|
Spherically averaged structure factor for a two-monomer system. More...
#include <BinaryStructureFactor.h>
Public Member Functions | |
| BinaryStructureFactor (typename T::Simulator &simulator, typename T::System &system) | |
| Constructor. | |
| void | readParameters (std::istream &in) override |
| Read parameters from file. | |
| void | output () override |
| Output results to predefined output file. | |
Protected Member Functions | |
| void | allocate () |
| Allocate member arrays with dimensions that depend only on mesh. | |
| void | findWaveBunches (Array< double > const &kSq, Array< bool > const &implicit) |
| Allocate and initialize data structures involving wave bunches. | |
| void | computeW () |
| Compute member variables wm_ and wk_. | |
| void | computeS (Array< typename T::Complex > const &wk) |
| Complete calculation of current structure factors. | |
Protected Attributes | |
| T::RFieldDft | wk_ |
| Discrete Fourier transform (DFT) of wm_ . | |
Spherically averaged structure factor for a two-monomer system.
This class evaluates the structures factors for all wavevectors within the Fourier space grid, while grouping averages for wavevectors of equal norm. Sets of wavevectors of equal norm are referred to here as "bunches".
A structure factor for a wavevector k for a system with two types monomer is given by an expectation value
\[ S(k) = 1/(v \chi )^2 <W_(k)W_(-k)>/V - 1/(2 \chi v) \]
where, V is system volume, v is monomer volume, and \(W_(k)\) is a Fourier transform of the fluctuating exchange field \( W_{-} = (w_{A} - w_{B})/2 \). This analyzer outputs the average value of this quantity for each bunch (or wavenumber value), averaged over waves in a "bunch".
Definition at line 50 of file fts/analyzer/BinaryStructureFactor.h.
| Pscf::Rp::BinaryStructureFactor< D, T >::BinaryStructureFactor | ( | typename T::Simulator & | simulator, |
| typename T::System & | system ) |
Constructor.
| simulator | parent simulator object |
| system | parent system object |
Definition at line 31 of file BinaryStructureFactor.tpp.
References Util::ParamComposite::setClassName().
|
override |
Read parameters from file.
For parameter file format see Manual Page
| in | input parameter stream |
Definition at line 49 of file BinaryStructureFactor.tpp.
References Util::ParamComposite::readOptional(), and UTIL_CHECK.
|
override |
Output results to predefined output file.
For output files and file format, see Manual Page
Definition at line 294 of file BinaryStructureFactor.tpp.
References Pscf::MeshIterator< D >::atEnd(), Pscf::MeshIterator< D >::begin(), Pscf::MeshIterator< D >::position(), and Pscf::MeshIterator< D >::rank().
|
protected |
Allocate member arrays with dimensions that depend only on mesh.
Definition at line 65 of file BinaryStructureFactor.tpp.
References Pscf::Mesh< D >::dimensions(), and UTIL_CHECK.
|
protected |
Allocate and initialize data structures involving wave bunches.
| kSq | values of square wavenumbers |
| implicit | bools indicating existence of implicit inverse |
Definition at line 101 of file BinaryStructureFactor.tpp.
|
protected |
Compute member variables wm_ and wk_.
Definition at line 222 of file BinaryStructureFactor.tpp.
References Pscf::VecOp::mulEqS(), Pscf::VecOp::subVV(), UTIL_CHECK, and wk_.
|
protected |
Complete calculation of current structure factors.
Definition at line 243 of file BinaryStructureFactor.tpp.
References Pscf::absSq(), Util::Array< Data >::capacity(), and UTIL_CHECK.
|
protected |
Discrete Fourier transform (DFT) of wm_ .
Definition at line 113 of file fts/analyzer/BinaryStructureFactor.h.
Referenced by computeW().