PSCF v1.2
replicateUnitCell.h
1#ifndef PRDC_REPLICATE_UNIT_CELL_H
2#define PRDC_REPLICATE_UNIT_CELL_H
3
4/*
5* PSCF - Polymer Self-Consistent Field Theory
6*
7* Copyright 2016 - 2025, The Regents of the University of Minnesota
8* Distributed under the terms of the GNU General Public License.
9*/
10
11#include <pscf/math/IntVec.h> // Template with a default parameter
12
13namespace Pscf {
14namespace Prdc {
15
16 template <int D> class UnitCell;
17 using namespace Util;
18 using namespace Pscf;
19
20
42 template <int D>
43 void replicateUnitCell(IntVec<D> const & replicas,
44 UnitCell<D> const & cellIn,
45 UnitCell<D> & cellOut)
46 {};
47
48 // Explicit specializations of replicateUnitCell<D>
49
59 template<>
60 void replicateUnitCell(IntVec<1> const & replicas,
61 UnitCell<1> const & cellIn,
62 UnitCell<1> & cellOut);
63
73 template<>
74 void replicateUnitCell(IntVec<2> const & replicas,
75 UnitCell<2> const & cellIn,
76 UnitCell<2> & cellOut);
77
87 template<>
88 void replicateUnitCell(IntVec<3> const & replicas,
89 UnitCell<3> const & cellIn,
90 UnitCell<3> & cellOut);
91
92} // namespace Prdc
93} // namespace Pscf
94#endif
An IntVec<D, T> is a D-component vector of elements of integer type T.
Definition IntVec.h:27
Base template for UnitCell<D> classes, D=1, 2 or 3.
Definition rpg/System.h:34
void replicateUnitCell(IntVec< 1 > const &replicas, UnitCell< 1 > const &cellIn, UnitCell< 1 > &cellOut)
Create a replicated UnitCell<1>.
PSCF package top-level namespace.
Definition param_pc.dox:1
Utility classes for scientific computation.