1#ifndef RP_LINEAR_SWEEP_TPP
2#define RP_LINEAR_SWEEP_TPP
11#include "LinearSweep.h"
18 template <
int D,
class T>
23 template <
int D,
class T>
27 SweepT::readParameters(in);
31 parameters_.allocate(nParameter_);
35 for (
int i = 0; i < nParameter_; ++i) {
44 for (
int i = 0; i < nParameter_; ++i) {
45 if (parameters_[i].type() ==
"phi_polymer" ||
46 parameters_[i].type() ==
"phi_solvent")
47 { sum += parameters_[i].change(); }
53 template <
int D,
class T>
63 for (
int i = 0; i < nParameter_; ++i) {
64 parameters_[i].setSystem(system());
65 parameters_[i].getInitial();
69 template <
int D,
class T>
74 for (
int i = 0; i < nParameter_; ++i) {
75 newVal = parameters_[i].initial() + s*parameters_[i].change();
76 parameters_[i].update(newVal);
80 template <
int D,
class T>
LinearSweep(typename T::System &system)
Constructor.
void readParameters(std::istream &in)
Read parameters from param file.
void setParameters(double s)
Set state parameters before solving an SCFT problem.
void setup()
Setup operation at the beginning of a sweep.
void outputSummary(std::ostream &out)
Output data to a running summary.
GArray< ParameterType > parameterTypes_
DArrayParam< Type > & readDArray(std::istream &in, const char *label, DArray< Type > &array, int n)
Add and read a required DArray < Type > parameter.
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.
Class templates for real-valued periodic fields.
PSCF package top-level namespace.