PSCF v1.4.0
MaxOrderParameter.cpp
1/*
2* PSCF - Polymer Self-Consistent Field
3*
4* Copyright 2015 - 2025, The Regents of the University of Minnesota
5* Distributed under the terms of the GNU General Public License.
6*/
7
8#include "MaxOrderParameter.h"
9
10#include <rpc/system/System.h>
11#include <rpc/fts/simulator/Simulator.h>
12#include <rpc/solvers/Mixture.h>
13#include <rpc/field/Domain.h>
14#include <rpc/field/WFields.h>
15#include <prdc/cpu/FFT.h>
16#include <prdc/cpu/RField.h>
17#include <pscf/cpu/VecOpCx.h>
18
19#include <rp/fts/analyzer/MaxOrderParameter.tpp>
20
21namespace Pscf {
22namespace Rpc {
23
24 using namespace Util;
25 using namespace Pscf::Prdc;
26
27 /*
28 * Constructor.
29 */
30 template <int D>
32 System<D>& system)
33 : Rp::MaxOrderParameter<D, Types<D> >(simulator, system)
34 {}
35
36 /*
37 * Compute and return maximum of square magnitude Fourier amplitude.
38 */
39 template <int D>
46
47}
48}
49
50// Explicit instantiation definitions
51namespace Pscf {
52 namespace Rp {
53 template class MaxOrderParameter<1, Rpc::Types<1> >;
54 template class MaxOrderParameter<2, Rpc::Types<2> >;
55 template class MaxOrderParameter<3, Rpc::Types<3> >;
56 }
57 namespace Rpc {
58 template class MaxOrderParameter<1>;
59 template class MaxOrderParameter<2>;
60 template class MaxOrderParameter<3>;
61 }
62}
void findMaximum(Array< typename Types< D >::Real > const &psi)
Evaluates maximum squared Fourier amplitude for W_{-} field.
MaxOrderParameter(Simulator< D > &simulator, System< D > &system)
Constructor.
double compute() override
Compute and return the max order parameter.
Field theoretic simulator (base class).
A complete physical system.
Aliases for types used in the Rpc program-level namespace.
Periodic fields and crystallography.
Definition complex.cpp:11
Class templates for real-valued periodic fields.
Real periodic fields, SCFT and PS-FTS (CPU).
Definition param_pc.dox:2
PSCF package top-level namespace.