PSCF v1.3
rpc/scft/sweep/SweepFactory.h
1#ifndef RPC_SWEEP_FACTORY_H
2#define RPC_SWEEP_FACTORY_H
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 <util/param/Factory.h>
12#include "Sweep.h"
13
14#include <string>
15
16namespace Pscf {
17namespace Rpc {
18
19 using namespace Util;
20
26 template <int D>
27 class SweepFactory : public Factory< Sweep<D> >
28 {
29
30 public:
31
37 SweepFactory(System<D>& system);
38
45 Sweep<D>* factory(std::string const & className) const;
46
48
49 private:
50
51 System<D>* systemPtr_;
52
53 };
54
55 #ifndef RPC_SWEEP_FACTORY_TPP
56 // Suppress implicit instantiation
57 extern template class SweepFactory<1>;
58 extern template class SweepFactory<2>;
59 extern template class SweepFactory<3>;
60 #endif
61
62}
63}
64#endif
Default Factory for subclasses of Sweep.
SweepFactory(System< D > &system)
Constructor.
Sweep< D > * factory(std::string const &className) const
Method to create any Sweep subclass.
Solve a sequence of SCFT problems along a line in parameter space.
Main class, representing one complete system.
Sweep< D > * trySubfactories(const std::string &className) const
Definition Factory.h:425
Real periodic fields, SCFT and PS-FTS (CPU).
Definition param_pc.dox:2
PSCF package top-level namespace.
Definition param_pc.dox:1