1#ifndef PSPC_FIELD_STATE_H
2#define PSPC_FIELD_STATE_H
11#include <pscf/crystal/UnitCell.h>
12#include <pspc/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;
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>
183 {
return unitCell_; }
188 template <
int D,
class FT>
190 {
return (systemPtr_ != 0); }
193 template <
int D,
class FT>
196 assert(systemPtr_ != 0);
200 #ifndef PSPC_FIELD_STATE_TPP
Record of a state of a System (fields + unit cell).
const FT & field(int monomerId) const
Get a field for a single monomer type by const reference.
const UnitCell< D > & unitCell() const
Get UnitCell (i.e., lattice type and parameters) by const reference.
DArray< FT > & fields()
Get array of all chemical potential fields (non-const reference).
FT & field(int monomerId)
Get field for a specific monomer type (non-const reference).
const DArray< FT > & fields() const
Get array of all fields by const reference.
FieldState()
Default constructor.
bool hasSystem()
Has a system been set?
System< D > & system()
Get associated System by reference.
UnitCell< D > & unitCell()
Get the UnitCell by non-const reference.
void setSystem(System< D > &system)
Set association with System, after default construction.
Main class for 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.