PSCF v1.4.0
rpg/solvers/Mixture.h
1#ifndef RPG_MIXTURE_H
2#define RPG_MIXTURE_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 <rp/solvers/Mixture.h> // base class template
12#include <rpg/system/Types.h> // base class argument
13
14namespace Pscf {
15namespace Rpg {
16
17 using namespace Util;
18 using namespace Prdc;
19
32 template <int D>
33 class Mixture : public Rp::Mixture< D, Types<D> >
34 {
35
36 public:
37
38 // Public member functions
39
43 Mixture();
44
48 virtual ~Mixture() = default;
49
55 void readParameters(std::istream& in) override;
56
59 using typename RpMixtureT::MixtureTmplT;
60 using typename RpMixtureT::MixtureBaseT;
61 using typename RpMixtureT::FieldT;
62
64
65 private:
66
68 bool useBatchedFFT_;
69
73 virtual void allocateBlocks() override;
74
75 };
76
77} // namespace Rpg
78} // namespace Pscf
79
80// Explicit instantiation declarations
81namespace Pscf {
82 extern template class MixtureTmpl< Rpg::Polymer<1>, Rpg::Solvent<1> >;
83 extern template class MixtureTmpl< Rpg::Polymer<2>, Rpg::Solvent<2> >;
84 extern template class MixtureTmpl< Rpg::Polymer<3>, Rpg::Solvent<3> >;
85 namespace Rp {
86 extern template class Mixture<1, Rpg::Types<1> >;
87 extern template class Mixture<2, Rpg::Types<2> >;
88 extern template class Mixture<3, Rpg::Types<3> >;
89 }
90 namespace Rpg {
91 extern template class Mixture<1>;
92 extern template class Mixture<2>;
93 extern template class Mixture<3>;
94 }
95}
96#endif
Solver and descriptor for a mixture of polymers and solvents.
Solver and descriptor for a mixture of polymers and solvents.
void readParameters(std::istream &in) override
Read body of parameter file block and initialize.
Definition Mixture.cu:39
virtual ~Mixture()=default
Destructor.
typename Rp::Mixture< D, Types< D > > RpMixtureT
Base class type aliases.
Mixture()
Constructor.
Definition Mixture.cu:30
Periodic fields and crystallography.
Definition complex.cpp:11
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.