PSCF v1.3.2
rpc/system/System.cpp
1#ifndef RPC_SYSTEM_CPP
2#define RPC_SYSTEM_CPP
3
4/*
5* PSCF - Polymer Self-Consistent Field
6*
7* Copyright 2015 - 2025, The Regents of the University of Minnesota
8* Distributed under the terms of the GNU General Public License.
9*/
10
11#include "System.h"
12#include <prdc/system/SystemTmpl.tpp>
13
14#include <rpc/solvers/MixtureModifier.h>
15#include <rpc/solvers/Polymer.h>
16#include <rpc/solvers/Solvent.h>
17#include <rpc/scft/ScftThermo.h>
18#include <rpc/environment/EnvironmentFactory.h>
19#include <rpc/fts/simulator/Simulator.h>
20#include <rpc/fts/simulator/SimulatorFactory.h>
21#include <rpc/fts/compressor/Compressor.h>
22#include <rpc/fts/compressor/CompressorFactory.h>
23#include <rpc/scft/iterator/Iterator.h>
24#include <rpc/scft/iterator/IteratorFactory.h>
25#include <rpc/scft/sweep/Sweep.h>
26#include <rpc/scft/sweep/SweepFactory.h>
27
28#include <prdc/cpu/RField.h>
29#include <prdc/cpu/RFieldDft.h>
30#include <prdc/environment/Environment.h>
31
32#include <pscf/inter/Interaction.h>
33
34namespace Pscf {
35 namespace Prdc {
36
37 // Explicit instantiation of base class template
38 template class SystemTmpl< 1, Rpc::Types<1> >;
39 template class SystemTmpl< 2, Rpc::Types<2> >;
40 template class SystemTmpl< 3, Rpc::Types<3> >;
41
42 }
43 namespace Rpc {
44
45 /*
46 * Constructor.
47 */
48 template <int D>
50 : SystemTmpl<D, Types<D> >(*this)
51 { ParamComposite::setClassName("System"); }
52
53 // Explicit instantiation
54 template class System<1>;
55 template class System<2>;
56 template class System<3>;
57
58 }
59}
60#endif
Base class template for classes that represent a complete system.
Definition SystemTmpl.h:101
SystemTmpl(typename Types< D >::System &system)
Main class, representing a complete physical system.
List of aliases for types used the in Rpc namespace.
void setClassName(const char *className)
Set class name string.
Periodic fields and crystallography.
Definition CField.cpp:11
Real periodic fields, SCFT and PS-FTS (CPU).
Definition param_pc.dox:2
PSCF package top-level namespace.