8#include "LinearSweep.h"
9#include <fd1d/System.h>
27 read(in,
"nParameter", nParameter_);
28 parameters_.allocate(nParameter_);
31 readDArray< SweepParameter >(in,
"parameters",
32 parameters_, nParameter_);
36 for (
int i = 0; i < nParameter_; ++i) {
37 if (parameters_[i].type() ==
"phi_polymer"
38 || parameters_[i].type() ==
"phi_solvent")
40 sum += parameters_[i].change();
53 for (
int i = 0; i < nParameter_; ++i) {
54 parameters_[i].setSystem(
system());
55 parameters_[i].getInitial();
63 for (
int i = 0; i < nParameter_; ++i) {
64 newVal = parameters_[i].initial() +
s*parameters_[i].change();
65 parameters_[i].update(newVal);
void setParameters(double s)
Set the state before an iteration.
LinearSweep(System &system)
Constructor.
void outputSummary(std::ostream &out)
Output data to a running summary.
void readParameters(std::istream &in)
Read parameters from param file.
void setup()
Setup operation at the beginning of a sweep.
Solve a sequence of problems along a line in parameter space.
virtual void readParameters(std::istream &in)
Read ns and baseFileName parameters.
virtual void setup()
Setup operation at beginning sweep.
const System & system() const
Get parent System by reference.
Main class in SCFT simulation of one system.
double s(int i) const
Get the value of s for a stored solution, with i = 0 most recent.
ScalarParam< Type > & read(std::istream &in, const char *label, Type &value)
Add and read a new required ScalarParam < Type > object.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
C++ namespace for polymer self-consistent field theory (PSCF).
Utility classes for scientific computation.