1#ifndef PSPG_FIELD_STATE_H
2#define PSPG_FIELD_STATE_H
11#include <pscf/crystal/UnitCell.h>
12#include <pspg/field/FieldIo.h>
13#include <util/containers/DArray.h>
21 template <
int D>
class System;
39 template <
int D,
class FT>
97 const FT&
field(
int monomerId)
const;
104 FT&
field(
int monomerId);
152 template <
int D,
class FT>
158 template <
int D,
class FT>
164 template <
int D,
class FT>
167 {
return fields_[id]; }
170 template <
int D,
class FT>
172 {
return fields_[id]; }
175 template <
int D,
class FT>
178 {
return unitCell_; }
181 template <
int D,
class FT>
184 {
return unitCell_; }
189 template <
int D,
class FT>
192 {
return (systemPtr_ != 0); }
195 template <
int D,
class FT>
199 assert(systemPtr_ != 0);
203 #ifndef PSPG_FIELD_STATE_TPP
Record of a state of a System (fields + unit cell).
FieldState()
Default constructor.
const DArray< FT > & fields() const
Get array of all fields by const reference.
const UnitCell< D > & unitCell() const
Get UnitCell (i.e., lattice type and parameters) by const reference.
const FT & field(int monomerId) const
Get a field for a single monomer type by const reference.
void setSystem(System< D > &system)
Set association with System, after default construction.
System< D > & system()
Get associated System by reference.
bool hasSystem()
Has a system been set?
Main class in SCFT simulation of one system.
Base template for UnitCell<D> classes, D=1, 2 or 3.
Dynamically allocatable contiguous array template.
C++ namespace for polymer self-consistent field theory (PSCF).
Utility classes for scientific computation.