PSCF v1.4.0
rpc/system/System.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 "System.h"
9
10#include <rpc/environment/EnvironmentFactory.h>
11#include <rpc/fts/simulator/Simulator.h>
12#include <rpc/fts/simulator/SimulatorFactory.h>
13#include <rpc/fts/compressor/Compressor.h>
14#include <rpc/fts/compressor/CompressorFactory.h>
15#include <rpc/scft/ScftThermo.h>
16#include <rpc/scft/iterator/Iterator.h>
17#include <rpc/scft/iterator/IteratorFactory.h>
18#include <rpc/scft/sweep/Sweep.h>
19#include <rpc/scft/sweep/SweepFactory.h>
20#include <rpc/solvers/Mixture.h>
21#include <rpc/solvers/MixtureModifier.h>
22#include <rpc/field/Domain.h>
23#include <rpc/field/WFields.h>
24#include <rpc/field/CFields.h>
25#include <rpc/field/Mask.h>
26
27#include <prdc/cpu/WaveList.h>
28#include <prdc/cpu/FFT.h>
29#include <prdc/cpu/RField.h>
30#include <prdc/cpu/RFieldDft.h>
31#include <prdc/environment/Environment.h>
32
33#include <rp/system/System.tpp> // base class template implementation
34
35namespace Pscf {
36 namespace Rpc {
37
38 // Constructor.
39 template <int D>
41 : Rp::System<D, Types<D> >(*this)
42 { ParamComposite::setClassName("System"); }
43
44 }
45}
46
47// Explicit instantiation definitions
48namespace Pscf {
49 namespace Rp {
50 template class System< 1, Rpc::Types<1> >;
51 template class System< 2, Rpc::Types<2> >;
52 template class System< 3, Rpc::Types<3> >;
53 }
54 namespace Rpc {
55 template class System<1>;
56 template class System<2>;
57 template class System<3>;
58 }
59}
A complete physical system.
Aliases for types used in the Rpc program-level namespace.
void setClassName(const char *className)
Set class name string.
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.