PSCF v1.3
rpg/environment/FilmEnvironment.h
1#ifndef RPG_FILM_ENVIRONMENT_H
2#define RPG_FILM_ENVIRONMENT_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 "FilmFieldGenMask.h"
12#include "FilmFieldGenExt.h"
13#include <rpg/scft/iterator/Iterator.h>
14#include <prdc/environment/MixAndMatchEnv.h>
15
16namespace Pscf {
17namespace Rpg {
18
19 using namespace Util;
20
21 template <int D>
22 class System;
23
29 template <int D>
31 {
32
33 public:
34
42 sysPtr_(&sys)
43 { ParamComposite::setClassName("FilmEnvironment"); }
44
50
51 private:
52
62 void createGenerators()
63 {
64 MixAndMatchEnv::fieldGenPtr1_ = new FilmFieldGenMask<D>(*sysPtr_);
65 MixAndMatchEnv::fieldGenPtr2_ = new FilmFieldGenExt<D>(*sysPtr_);
66 }
67
69 System<D>* sysPtr_;
70
71 };
72
73 // Suppress implicit instantiation
74 extern template class FilmEnvironment<1>;
75 extern template class FilmEnvironment<2>;
76 extern template class FilmEnvironment<3>;
77
78} // namespace Rpg
79} // namespace Pscf
80#endif
FilmEnvironment(System< D > &sys)
Constructor.
Field Generator for external fields in thin-film systems.
Field Generator for thin-film masks.
Main class, representing one complete system.
void setClassName(const char *className)
Set class name string.
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.
Definition param_pc.dox:1