1#ifndef RP_BINARY_STRUCTURE_FACTOR_H
2#define RP_BINARY_STRUCTURE_FACTOR_H
11#include <pscf/math/IntVec.h>
12#include <util/accumulators/Average.h>
13#include <util/containers/DArray.h>
19 template <
typename T>
class Array;
49 template <
int D,
class T>
62 typename T::System& system);
113 typename T::RFieldDft
wk_;
116 using AnalyzerT =
typename T::Analyzer;
119 using AnalyzerT::system;
120 using AnalyzerT::simulator;
125 typename T::RField wm_;
164 using FFTT =
typename T::FFT;
An IntVec<D, T> is a D-component vector of elements of integer type T.
void readParameters(std::istream &in) override
Read parameters from file.
void output() override
Output results to predefined output file.
BinaryStructureFactor(typename T::Simulator &simulator, typename T::System &system)
Constructor.
void allocate()
Allocate member arrays with dimensions that depend only on mesh.
void computeS(Array< typename T::Complex > const &wk)
Complete calculation of current structure factors.
T::RFieldDft wk_
Discrete Fourier transform (DFT) of wm_ .
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_.
Array container class template.
Dynamically allocatable contiguous array template.
Class templates for real-valued periodic fields.
PSCF package top-level namespace.
Utility classes for scientific computation.