55 for (
int j = 0; j < nBlock(); ++j) {
56 block(j).clearUnitCellData();
69 for (
int j = 0; j < nBlock(); ++j) {
70 monomerId = block(j).monomerId();
71 block(j).setupSolver(wFields[monomerId]);
86 for (
int i = 0; i < 6; ++i) {
91 double prefactor = exp(mu_)/length();
92 for (
int i = 0; i < nBlock(); ++i) {
93 block(i).computeStress(prefactor);
94 for (
int j = 0; j < nParam_ ; ++j){
95 stress_[j] += block(i).stress(j);
Field of real double precision values on an FFT mesh.
void setClassName(const char *className)
Set class name string.
void compute(DArray< RField< D > > const &wFields, double phiTot=1.0)
Compute solution to MDE and block concentrations.
Polymer()
Default constructor.
void setMu(double mu)
Set value of mu (chemical potential), if ensemble is closed.
void computeStress()
Compute stress contribution from this species.
void setPhi(double phi)
Set value of phi (volume fraction), if ensemble is closed.
void clearUnitCellData()
Clear all data that depends on unit cell parameters.
void setNParams(int nParam)
Store the number of unit cell parameters.
Dynamically allocatable contiguous array template.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
PSCF package top-level namespace.