|
PSCF v1.4.0
|
Evaluate max of square magnitude of Fourier modes for exchange field. More...
#include <MaxOrderParameter.h>
Public Member Functions | |
| void | setup () override |
| Setup before simulation loop. | |
Protected Member Functions | |
| MaxOrderParameter (typename T::Simulator &simulator, typename T::System &system) | |
| Constructor. | |
| ~MaxOrderParameter ()=default | |
| Destructor. | |
| void | outputValue (int step, double value) override |
| Output a sampled or block average value. | |
| void | computePsi () |
| Compute the psi_ array of squared Fourier coefficients. | |
| void | findMaximum (Array< typename T::Real > const &psi) |
| Find the wavevector of maximum Fourier magnitude. | |
Protected Attributes | |
| T::RField | psi_ |
| Square magnitude |W_|^2 in Fourier space. | |
| double | maxPsi_ |
| Maximum square magnitude (value of maximum element of psi_). | |
| IntVec< D > | Gmax_ |
| Indices of wavevector with maximum magnitude. | |
| int | kSize_ |
| Number of wavevectors in Fourier space (k-grid) mesh. | |
Evaluate max of square magnitude of Fourier modes for exchange field.
This class evaluates an average for the maximum of the squared Fourier mode amplitude for the fluctuating exchange field W_{-}(r) for an AB system (nMonomer == 2).
The quantity of interest is defined as
\[ \Psi = \max [ |W_{-}({\bf k})|^{2} ] \]
where \( W_{-}({\bf k})\) is fluctuating field component with wavevector \( {\bf k} \).
Specializations of this class template are used as base classes for two closely analogous class templates, also named MaxOrderParameter, that are defined in Rpc and Rpg namespaces for use in the pscf_rpc and pscf_rpg programs, respectively.
Template parameters:
Definition at line 49 of file fts/analyzer/MaxOrderParameter.h.
|
protected |
Constructor.
Definition at line 29 of file MaxOrderParameter.tpp.
References kSize_, and Util::ParamComposite::setClassName().
|
protecteddefault |
Destructor.
|
override |
Setup before simulation loop.
Definition at line 40 of file MaxOrderParameter.tpp.
References kSize_, psi_, and UTIL_CHECK.
|
overrideprotected |
Output a sampled or block average value.
| step | value for step counter |
| value | value of physical observable |
Definition at line 104 of file MaxOrderParameter.tpp.
References Gmax_, and UTIL_CHECK.
|
protected |
Compute the psi_ array of squared Fourier coefficients.
Definition at line 66 of file MaxOrderParameter.tpp.
References psi_, Pscf::VecOp::sqAbsV(), and UTIL_CHECK.
|
protected |
Find the wavevector of maximum Fourier magnitude.
Results for the maximum square magnitude and the indices of the wavevector for which this occured are stored in maxPsi_ and Gmax_, respectively.
| psi | array of squared Fourier coefficients |
Definition at line 81 of file MaxOrderParameter.tpp.
References Gmax_, kSize_, maxPsi_, and Pscf::Mesh< D >::position().
|
protected |
Square magnitude |W_|^2 in Fourier space.
Definition at line 64 of file fts/analyzer/MaxOrderParameter.h.
Referenced by computePsi(), and setup().
|
protected |
Maximum square magnitude (value of maximum element of psi_).
Definition at line 67 of file fts/analyzer/MaxOrderParameter.h.
Referenced by findMaximum().
|
protected |
Indices of wavevector with maximum magnitude.
Definition at line 70 of file fts/analyzer/MaxOrderParameter.h.
Referenced by findMaximum(), and outputValue().
|
protected |
Number of wavevectors in Fourier space (k-grid) mesh.
Definition at line 73 of file fts/analyzer/MaxOrderParameter.h.
Referenced by findMaximum(), MaxOrderParameter(), and setup().