PSCF v1.4.0
fieldHeader.h
1#ifndef PRDC_FIELD_HEADER_H
2#define PRDC_FIELD_HEADER_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 <pscf/math/IntVec.h> // Template with a default parameter
12
13// Forward class declarations
14namespace Pscf {
15 template <int D> class Mesh;
16 namespace Prdc {
17 template <int D> class UnitCell;
18 template <int D> class Basis;
19 }
20}
21
22namespace Pscf {
23namespace Prdc {
24
25 using namespace Util;
26 using namespace Pscf;
27
42 template <int D>
43 void readFieldHeader(std::istream& in, int& ver1, int& ver2,
44 UnitCell<D>& cell, std::string& groupName,
45 int& nMonomer);
46
64 template <int D>
65 void writeFieldHeader(std::ostream &out, int ver1, int ver2,
66 UnitCell<D> const & cell,
67 std::string const & groupName,
68 int nMonomer);
69
70
82 template <int D>
83 void readMeshDimensions(std::istream& in,
84 IntVec<D> const& meshDimensions);
85
94 template <int D>
95 void writeMeshDimensions(std::ostream &out,
96 IntVec<D> const& meshDimensions);
97
98} // namespace Prdc
99} // namespace Pscf
100#include "fieldHeader.tpp"
101#endif
An IntVec<D, T> is a D-component vector of elements of integer type T.
Definition IntVec.h:27
Description of a regular grid of points in a periodic domain.
Definition Mesh.h:61
Symmetry-adapted Fourier basis for pseudo-spectral SCFT.
Definition Basis.h:384
Base template for UnitCell<D> classes, D=1, 2 or 3.
Definition UnitCell.h:56
void writeFieldHeader(std::ostream &out, int ver1, int ver2, UnitCell< D > const &cell, std::string const &groupName, int nMonomer)
Write common part of field header (fortran PSCF format).
void readFieldHeader(std::istream &in, int &ver1, int &ver2, UnitCell< D > &cell, std::string &groupName, int &nMonomer)
Read common part of field header (fortran PSCF format).
void writeMeshDimensions(std::ostream &out, IntVec< D > const &meshDimensions)
Write mesh dimensions to a field file header.
void readMeshDimensions(std::istream &in, IntVec< D > const &meshDimensions)
Read mesh dimensions from a field file header.
Periodic fields and crystallography.
Definition complex.cpp:11
PSCF package top-level namespace.