1#ifndef RP_SIM_STATE_TPP
2#define RP_SIM_STATE_TPP
12#include <pscf/math/IntVec.h>
20 template <
int D,
class FT>
37 template <
int D,
class FT>
41 wc.allocate(nMonomer);
42 for (
int i = 0; i < nMonomer; ++i) {
43 w[i].allocate(dimensions);
44 wc[i].allocate(dimensions);
47 cc.allocate(nMonomer);
48 for (
int i = 0; i < nMonomer; ++i) {
49 cc[i].allocate(dimensions);
53 dc.allocate(nMonomer-1);
54 for (
int i = 0; i < nMonomer - 1; ++i) {
55 dc[i].allocate(dimensions);
An IntVec<D, T> is a D-component vector of elements of integer type T.
Class templates for real-valued periodic fields.
PSCF package top-level namespace.
DArray< FT > w
Chemical potential fields, r-grid format, indexed by monomer.
DArray< FT > cc
Eigenvector components of c fields on a real space grid.
bool needsCc
True iff cc fields need to be saved.
DArray< FT > wc
Chemical potential fields, r-grid format, indexed by eigenvector.
double idealHamiltonian
Ideal gas contribution to Hamiltonian.
bool hasData
Does this object currently store data?
double fieldHamiltonian
Quadratic field contribution to Hamiltonian value.
DArray< FT > dc
Functional derivatives of the Hamiltonian on a real space grid.
void allocate(int nMonomer, IntVec< D > const &dimensions)
Allocate memory for stored fields.
bool isAllocated
Has memory been allocated for the fields?
bool needsHamiltonian
True iff Hamiltonian components need to be saved.
double hamiltonian
Field theoretic Hamiltonian value (total).
bool needsDc
True iff dc fields need to be saved.