PSCF v1.2
|
Main class for calculations that represent one system. More...
#include <System.h>
Public Member Functions | |
Construction and Destruction | |
System () | |
Constructor. | |
~System () | |
Destructor. | |
Lifetime (Main Actions) | |
void | setOptions (int argc, char **argv) |
Process command line options. | |
virtual void | readParam (std::istream &in) |
Read input parameters (with opening and closing lines). | |
void | readParam () |
Read input parameters from default param file. | |
virtual void | readParameters (std::istream &in) |
Read body of parameter file (without opening, closing lines). | |
void | readCommands (std::istream &in) |
Read and process commands from an input stream. | |
void | readCommands () |
Read and process commands from the default command file. | |
W Field Modifiers | |
void | readWBasis (const std::string &filename) |
Read chemical potential fields in symmetry adapted basis format. | |
void | readWRGrid (const std::string &filename) |
Read chemical potential fields in real space grid (r-grid) format. | |
void | setWBasis (DArray< DArray< double > > const &fields) |
Set chemical potential fields, in symmetry-adapted basis format. | |
void | setWRGrid (DArray< RField< D > > const &fields) |
Set new w fields, in real-space (r-grid) format. | |
void | setWRGrid (DeviceArray< cudaReal > &fields) |
Set new w fields, in unfolded real-space (r-grid) format. | |
void | symmetrizeWFields () |
Symmetrize r-grid w-fields, compute basis components. | |
void | estimateWfromC (const std::string &filename) |
Construct trial w-fields from c-fields. | |
Unit Cell Modifiers | |
void | setUnitCell (UnitCell< D > const &unitCell) |
Set parameters of the associated unit cell. | |
void | setUnitCell (typename UnitCell< D >::LatticeSystem lattice, FSArray< double, 6 > const ¶meters) |
Set state of the associated unit cell. | |
void | setUnitCell (FSArray< double, 6 > const ¶meters) |
Set parameters of the associated unit cell. | |
Primary SCFT Computations | |
void | compute (bool needStress=false) |
Solve the modified diffusion equation once, without iteration. | |
int | iterate (bool isContinuation=false) |
Iteratively solve a SCFT problem. | |
void | sweep () |
Sweep in parameter space, solving an SCF problem at each point. | |
void | simulate (int nStep) |
Perform a field theoretic simulation. | |
Thermodynamic Properties | |
void | computeFreeEnergy () |
Compute free energy density and pressure for current fields. | |
double | fHelmholtz () const |
Get precomputed Helmoltz free energy per monomer / kT. | |
double | pressure () const |
Get precomputed pressure times monomer volume / kT. | |
Thermodynamic Data Output | |
void | writeParamNoSweep (std::ostream &out) const |
Write parameter file to an ostream, omitting the sweep block. | |
void | writeThermo (std::ostream &out) |
Write thermodynamic properties to a file. | |
void | writeStress (std::ostream &out) |
Write stress properties to a file. | |
Field Output | |
void | writeWBasis (const std::string &filename) |
Write chemical potential fields in symmetry adapted basis format. | |
void | writeWRGrid (const std::string &filename) const |
Write chemical potential fields in real space grid (r-grid) format. | |
void | writeCBasis (const std::string &filename) |
Write concentrations in symmetry-adapted basis format. | |
void | writeCRGrid (const std::string &filename) const |
Write concentration fields in real space grid (r-grid) format. | |
void | writeBlockCRGrid (const std::string &filename) const |
Write c fields for all blocks and solvents in r-grid format. | |
Propagator Output | |
void | writeQSlice (std::string const &filename, int polymerId, int blockId, int directionId, int segmentId) const |
Write specified slice of a propagator at fixed s in r-grid format. | |
void | writeQTail (std::string const &filename, int polymerId, int blockId, int directionId) const |
Write the final slice of a propagator in r-grid format. | |
void | writeQ (std::string const &filename, int polymerId, int blockId, int directionId) const |
Write one propagator for one block, in r-grid format. | |
void | writeQAll (std::string const &basename) |
Write all propagators of all blocks, each to a separate file. | |
Crystallographic Data Output | |
void | writeStars (const std::string &filename) const |
Output information about stars and symmetrized basis functions. | |
void | writeWaves (const std::string &filename) const |
Output information about waves. | |
void | writeGroup (std::string const &filename) const |
Output all elements of the space group. | |
Field File Operations | |
void | basisToRGrid (const std::string &inFileName, const std::string &outFileName) |
Convert a field from symmetry-adapted basis to r-grid format. | |
void | rGridToBasis (const std::string &inFileName, const std::string &outFileName) |
Convert a field from real-space grid to symmetrized basis format. | |
void | kGridToRGrid (const std::string &inFileName, const std::string &outFileName) |
Convert fields from Fourier (k-grid) to real-space (r-grid) format. | |
void | rGridToKGrid (const std::string &inFileName, const std::string &outFileName) |
Convert fields from real-space (r-grid) to Fourier (k-grid) format. | |
void | kGridToBasis (const std::string &inFileName, const std::string &outFileName) |
Convert fields from Fourier (k-grid) to symmetrized basis format. | |
void | basisToKGrid (const std::string &inFileName, const std::string &outFileName) |
Convert fields from symmetrized basis to Fourier (k-grid) format. | |
void | compare (const DArray< DArray< double > > field1, const DArray< DArray< double > > field2) |
Compare arrays of fields in basis format, output a report. | |
void | compare (const DArray< RField< D > > field1, const DArray< RField< D > > field2) |
Compare two fields in r-grid format, output a report. | |
bool | checkRGridFieldSymmetry (const std::string &inFileName, double epsilon=1.0E-8) |
Check if r-grid fields have the declared space group symmetry. | |
void | scaleFieldsBasis (const std::string &inFileName, const std::string &outFileName, double factor) |
Multiply all components of an array of basis fields by a scalar. | |
void | scaleFieldsRGrid (const std::string &inFileName, const std::string &outFileName, double factor) const |
Multiply all elements of an array of r-grid fields by a scalar. | |
void | expandRGridDimension (const std::string &inFileName, const std::string &outFileName, int d, DArray< int > newGridDimensions) |
Expand the number of spatial dimensions of an r-grid field. | |
void | replicateUnitCell (const std::string &inFileName, const std::string &outFileName, IntVec< D > const &replicas) |
Replicate the crystal unit cell to create a larger cell. | |
Timers | |
void | writeTimers (std::ostream &out) |
Write timer file to an ostream. | |
void | clearTimers () |
Clear timers. | |
Field Accessors | |
WFieldContainer< D > const & | w () const |
Get container of chemical potential fields (w fields). | |
CFieldContainer< D > const & | c () const |
Get container of monomer concentration fields (c fields). | |
WFieldContainer< D > & | h () |
Get container of external potential fields (non-const reference). | |
WFieldContainer< D > const & | h () const |
Get container of external potential fields (const reference). | |
Mask< D > & | mask () |
Get the mask (field to which total density is constrained). | |
Mask< D > const & | mask () const |
Get the mask by const reference. | |
Member Object Accessors | |
Mixture< D > & | mixture () |
Get Mixture by reference. | |
Mixture< D > const & | mixture () const |
Get Mixture by const reference. | |
Interaction & | interaction () |
Get interaction (i.e., excess free energy) by reference. | |
Interaction const & | interaction () const |
Get interaction (i.e., excess free energy) by const reference. | |
Domain< D > & | domain () |
Get Domain by non const reference. | |
Domain< D > const & | domain () const |
Get Domain by const reference. | |
Iterator< D > & | iterator () |
Get the iterator by non-const reference. | |
Iterator< D > const & | iterator () const |
Get the iterator by const reference. | |
Simulator< D > & | simulator () |
Get Simulator for field theoretic simulation. | |
UnitCell< D > const & | unitCell () const |
Get crystal UnitCell by const reference. | |
Mesh< D > const & | mesh () const |
Get spatial discretization Mesh by const reference. | |
Basis< D > const & | basis () const |
Get the Basis by reference. | |
FieldIo< D > const & | fieldIo () const |
Get the FieldIo by const reference. | |
FFT< D > const & | fft () const |
Get the FFT object by const reference. | |
Homogeneous::Mixture & | homogeneous () |
Get homogeneous mixture (for reference calculations). | |
FileMaster & | fileMaster () |
Get FileMaster by reference. | |
Boolean Queries | |
bool | hasIterator () const |
Does this system have an Iterator object? | |
bool | hasSweep () const |
Does this system have an associated Sweep object? | |
bool | hasSimulator () const |
Does this system have an initialized Simulator? | |
bool | hasExternalFields () const |
Does this system have external potential fields? | |
bool | hasMask () const |
Does this system have a mask (inhomogeneous density constraint) ? | |
bool | hasCFields () const |
Have c fields been computed from the current w fields ? | |
bool | hasFreeEnergy () const |
Has the free energy been computed from the current w fields? | |
![]() | |
ParamComposite () | |
Constructor. | |
ParamComposite (const ParamComposite &other) | |
Copy constructor. | |
ParamComposite (int capacity) | |
Constructor. | |
virtual | ~ParamComposite () |
Virtual destructor. | |
void | resetParam () |
Resets ParamComposite to its empty state. | |
virtual void | readParamOptional (std::istream &in) |
Read optional parameter file block. | |
virtual void | writeParam (std::ostream &out) const |
Write all parameters to an output stream. | |
virtual void | load (Serializable::IArchive &ar) |
Load all parameters from an input archive. | |
virtual void | loadOptional (Serializable::IArchive &ar) |
Load an optional ParamComposite. | |
virtual void | loadParameters (Serializable::IArchive &ar) |
Load state from archive, without adding Begin and End lines. | |
virtual void | save (Serializable::OArchive &ar) |
Saves all parameters to an archive. | |
void | saveOptional (Serializable::OArchive &ar) |
Saves isActive flag, and then calls save() iff isActive is true. | |
void | readParamComposite (std::istream &in, ParamComposite &child, bool next=true) |
Add and read a required child ParamComposite. | |
void | readParamCompositeOptional (std::istream &in, ParamComposite &child, bool next=true) |
Add and attempt to read an optional child ParamComposite. | |
template<typename Type > | |
ScalarParam< Type > & | read (std::istream &in, const char *label, Type &value) |
Add and read a new required ScalarParam < Type > object. | |
template<typename Type > | |
ScalarParam< Type > & | readOptional (std::istream &in, const char *label, Type &value) |
Add and read a new optional ScalarParam < Type > object. | |
template<typename Type > | |
CArrayParam< Type > & | readCArray (std::istream &in, const char *label, Type *value, int n) |
Add and read a required C array parameter. | |
template<typename Type > | |
CArrayParam< Type > & | readOptionalCArray (std::istream &in, const char *label, Type *value, int n) |
Add and read an optional C array parameter. | |
template<typename Type > | |
DArrayParam< Type > & | readDArray (std::istream &in, const char *label, DArray< Type > &array, int n) |
Add and read a required DArray < Type > parameter. | |
template<typename Type > | |
DArrayParam< Type > & | readOptionalDArray (std::istream &in, const char *label, DArray< Type > &array, int n) |
Add and read an optional DArray < Type > parameter. | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | readFArray (std::istream &in, const char *label, FArray< Type, N > &array) |
Add and read a required FArray < Type, N > array parameter. | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | readOptionalFArray (std::istream &in, const char *label, FArray< Type, N > &array) |
Add and read an optional FArray < Type, N > array parameter. | |
template<typename Type , int N> | |
FSArrayParam< Type, N > & | readFSArray (std::istream &in, const char *label, FSArray< Type, N > &array, int size) |
Add and read a required FSArray < Type, N > array parameter. | |
template<typename Type , int N> | |
FSArrayParam< Type, N > & | readOptionalFSArray (std::istream &in, const char *label, FSArray< Type, N > &array, int size) |
Add and read an optional FSArray < Type, N > array parameter. | |
template<typename Type > | |
CArray2DParam< Type > & | readCArray2D (std::istream &in, const char *label, Type *value, int m, int n, int np) |
Add and read a required CArray2DParam < Type > 2D C-array. | |
template<typename Type > | |
CArray2DParam< Type > & | readOptionalCArray2D (std::istream &in, const char *label, Type *value, int m, int n, int np) |
Add and read an optional CArray2DParam < Type > 2D C-array parameter. | |
template<typename Type > | |
DMatrixParam< Type > & | readDMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int m, int n) |
Add and read a required DMatrix < Type > matrix parameter. | |
template<typename Type > | |
DMatrixParam< Type > & | readOptionalDMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int m, int n) |
Add and read an optional DMatrix < Type > matrix parameter. | |
template<typename Type > | |
DSymmMatrixParam< Type > & | readDSymmMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int n) |
Add and read a required symmetrix DMatrix. | |
template<typename Type > | |
DSymmMatrixParam< Type > & | readOptionalDSymmMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int n) |
Add and read an optional DMatrix matrix parameter. | |
Begin & | readBegin (std::istream &in, const char *label, bool isRequired=true) |
Add and read a class label and opening bracket. | |
End & | readEnd (std::istream &in) |
Add and read the closing bracket. | |
Blank & | readBlank (std::istream &in) |
Add and read a new Blank object, representing a blank line. | |
void | loadParamComposite (Serializable::IArchive &ar, ParamComposite &child, bool next=true) |
Add and load a required child ParamComposite. | |
void | loadParamCompositeOptional (Serializable::IArchive &ar, ParamComposite &child, bool next=true) |
Add and load an optional child ParamComposite if isActive. | |
template<typename Type > | |
ScalarParam< Type > & | loadParameter (Serializable::IArchive &ar, const char *label, Type &value, bool isRequired) |
Add and load a new ScalarParam < Type > object. | |
template<typename Type > | |
ScalarParam< Type > & | loadParameter (Serializable::IArchive &ar, const char *label, Type &value) |
Add and load new required ScalarParam < Type > object. | |
template<typename Type > | |
CArrayParam< Type > & | loadCArray (Serializable::IArchive &ar, const char *label, Type *value, int n, bool isRequired) |
Add a C array parameter and load its elements. | |
template<typename Type > | |
CArrayParam< Type > & | loadCArray (Serializable::IArchive &ar, const char *label, Type *value, int n) |
Add and load a required CArrayParam< Type > array parameter. | |
template<typename Type > | |
DArrayParam< Type > & | loadDArray (Serializable::IArchive &ar, const char *label, DArray< Type > &array, int n, bool isRequired) |
Add an load a DArray < Type > array parameter. | |
template<typename Type > | |
DArrayParam< Type > & | loadDArray (Serializable::IArchive &ar, const char *label, DArray< Type > &array, int n) |
Add and load a required DArray< Type > array parameter. | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | loadFArray (Serializable::IArchive &ar, const char *label, FArray< Type, N > &array, bool isRequired) |
Add and load an FArray < Type, N > fixed-size array parameter. | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | loadFArray (Serializable::IArchive &ar, const char *label, FArray< Type, N > &array) |
Add and load a required FArray < Type > array parameter. | |
template<typename Type , int N> | |
FSArrayParam< Type, N > & | loadFSArray (Serializable::IArchive &ar, const char *label, FSArray< Type, N > &array, int size, bool isRequired) |
Add and load an FSArray < Type, N > array parameter. | |
template<typename Type , int N> | |
FSArrayParam< Type, N > & | loadFSArray (Serializable::IArchive &ar, const char *label, FSArray< Type, N > &array, int size) |
Add and load a required FSArray < Type > array parameter. | |
template<typename Type > | |
CArray2DParam< Type > & | loadCArray2D (Serializable::IArchive &ar, const char *label, Type *value, int m, int n, int np, bool isRequired) |
Add and load a CArray2DParam < Type > C 2D array parameter. | |
template<typename Type > | |
CArray2DParam< Type > & | loadCArray2D (Serializable::IArchive &ar, const char *label, Type *value, int m, int n, int np) |
Add and load a required < Type > matrix parameter. | |
template<typename Type > | |
DMatrixParam< Type > & | loadDMatrix (Serializable::IArchive &ar, const char *label, DMatrix< Type > &matrix, int m, int n, bool isRequired) |
Add and load a DMatrixParam < Type > matrix parameter. | |
template<typename Type > | |
DMatrixParam< Type > & | loadDMatrix (Serializable::IArchive &ar, const char *label, DMatrix< Type > &matrix, int m, int n) |
Add and load a required DMatrixParam < Type > matrix parameter. | |
template<typename Type > | |
DSymmMatrixParam< Type > & | loadDSymmMatrix (Serializable::IArchive &ar, const char *label, DMatrix< Type > &matrix, int n, bool isRequired) |
Add and load a symmetric DSymmMatrixParam < Type > matrix parameter. | |
template<typename Type > | |
DSymmMatrixParam< Type > & | loadDSymmMatrix (Serializable::IArchive &ar, const char *label, DMatrix< Type > &matrix, int n) |
Add and load a required DSymmMatrixParam < Type > matrix parameter. | |
void | addParamComposite (ParamComposite &child, bool next=true) |
Add a child ParamComposite object to the format array. | |
Begin & | addBegin (const char *label) |
Add a Begin object representing a class name and bracket. | |
End & | addEnd () |
Add a closing bracket. | |
Blank & | addBlank () |
Create and add a new Blank object, representing a blank line. | |
std::string | className () const |
Get class name string. | |
bool | isRequired () const |
Is this ParamComposite required in the input file? | |
bool | isActive () const |
Is this parameter active? | |
![]() | |
virtual | ~ParamComponent () |
Destructor. | |
void | setIndent (const ParamComponent &parent, bool next=true) |
Set indent level. | |
std::string | indent () const |
Return indent string for this object (string of spaces). | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Serialize this ParamComponent as a string. | |
![]() | |
virtual | ~Serializable () |
Destructor. | |
![]() | |
MpiFileIo () | |
Constructor. | |
MpiFileIo (const MpiFileIo &other) | |
Copy constructor. | |
bool | isIoProcessor () const |
Can this processor do file I/O ? | |
void | setIoCommunicator (MPI::Intracomm &communicator) |
Set the communicator. | |
void | clearCommunicator () |
Clear (nullify) the communicator. | |
bool | hasIoCommunicator () const |
Does this object have an associated MPI communicator? | |
MPI::Intracomm & | ioCommunicator () const |
Get the MPI communicator by reference. | |
Additional Inherited Members | |
![]() | |
typedef BinaryFileOArchive | OArchive |
Type of output archive used by save method. | |
typedef BinaryFileIArchive | IArchive |
Type of input archive used by load method. | |
![]() | |
static void | initStatic () |
Initialize static echo member to false. | |
static void | setEcho (bool echo=true) |
Enable or disable echoing for all subclasses of ParamComponent. | |
static bool | echo () |
Get echo parameter. | |
![]() | |
void | setClassName (const char *className) |
Set class name string. | |
void | setIsRequired (bool isRequired) |
Set or unset the isActive flag. | |
void | setIsActive (bool isActive) |
Set or unset the isActive flag. | |
void | setParent (ParamComponent ¶m, bool next=true) |
Set this to the parent of a child component. | |
void | addComponent (ParamComponent ¶m, bool isLeaf=true) |
Add a new ParamComponent object to the format array. | |
template<typename Type > | |
ScalarParam< Type > & | add (std::istream &in, const char *label, Type &value, bool isRequired=true) |
Add a new required ScalarParam < Type > object. | |
template<typename Type > | |
CArrayParam< Type > & | addCArray (std::istream &in, const char *label, Type *value, int n, bool isRequired=true) |
Add (but do not read) a required C array parameter. | |
template<typename Type > | |
DArrayParam< Type > & | addDArray (std::istream &in, const char *label, DArray< Type > &array, int n, bool isRequired=true) |
Add (but do not read) a DArray < Type > parameter. | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | addFArray (std::istream &in, const char *label, FArray< Type, N > &array, bool isRequired=true) |
Add (but do not read) a FArray < Type, N > array parameter. | |
template<typename Type , int N> | |
FSArrayParam< Type, N > & | addFSArray (std::istream &in, const char *label, FSArray< Type, N > &array, int size, bool isRequired=true) |
Add (but do not read) a FSArray < Type, N > array parameter. | |
template<typename Type > | |
CArray2DParam< Type > & | addCArray2D (std::istream &in, const char *label, Type *value, int m, int n, int np, bool isRequired=true) |
Add (but do not read) a CArray2DParam < Type > 2D C-array. | |
template<typename Type > | |
DMatrixParam< Type > & | addDMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int m, int n, bool isRequired=true) |
Add and read a required DMatrix < Type > matrix parameter. | |
![]() | |
ParamComponent () | |
Constructor. | |
ParamComponent (const ParamComponent &other) | |
Copy constructor. | |
Main class for calculations that represent one system.
A System has (among other components):
A System may also optionally own Iterator, Sweep and Simulator (BdSimulator or McSimulator) components. Iterator and Sweep objects are only used for SCFT calculations. A Simulator objects is only used for PS-FTS calculations (i.e., field theoretic simulations that use a partial saddle-point approximation).
System is a class template with an integer template parameter D = 1, 2, or 3 that represents the dimensions of space. Many related components are also class templates of the same type. Names such as System, Mixture, Domain, etc. mentioned above are thus names of class templates, whereas actual class names are of the form Mixture<D>, Domain<D>, etc. with D=1, 2 or 3.
Usage of a System<D> object within the pscf_pg main program looks like this:
where argc, and argv are parameters containing information about command line arguments that must be passed from the main program. This is implemented as function template Pscf::Rpg::run in the file src/rpg/pscf_pg.cpp.
Parameter file format is the same as for corresponding object Pscf::Rpc::System<D> used in the analogous pscf_pc CPU program.
See also:
Definition at line 106 of file rpg/System.h.
Pscf::Rpg::System< D >::System | ( | ) |
Constructor.
Definition at line 54 of file rpg/System.tpp.
References Pscf::ThreadArray::init(), Util::BracketPolicy::set(), and Util::ParamComposite::setClassName().
Pscf::Rpg::System< D >::~System | ( | ) |
Destructor.
Definition at line 99 of file rpg/System.tpp.
void Pscf::Rpg::System< D >::setOptions | ( | int | argc, |
char ** | argv ) |
Process command line options.
This function takes the same arguments as any C/C++ main program function. The arguments of the main function should d be passed to this function unaltered, to allow this function to process the command line options.
argc | number of command line arguments |
argv | array of pointers to command line arguments |
Definition at line 128 of file rpg/System.tpp.
References Util::Log::file(), Util::ParamComponent::setEcho(), Pscf::ThreadArray::setThreadsPerBlock(), Pscf::ThreadMesh::setThreadsPerBlock(), UTIL_CHECK, and UTIL_THROW.
Referenced by Pscf::Rpg::run().
|
virtual |
Read input parameters (with opening and closing lines).
in | input parameter stream |
Reimplemented from Util::ParamComposite.
Definition at line 305 of file rpg/System.tpp.
Referenced by Pscf::Rpg::run().
void Pscf::Rpg::System< D >::readParam | ( | ) |
Read input parameters from default param file.
This function reads the parameter file set by the -p command line option.
Definition at line 316 of file rpg/System.tpp.
|
virtual |
Read body of parameter file (without opening, closing lines).
in | input parameter stream |
Reimplemented from Util::ParamComposite.
Definition at line 230 of file rpg/System.tpp.
References Util::ParamComponent::echo(), Util::Log::file(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::readCommands | ( | std::istream & | in | ) |
Read and process commands from an input stream.
in | command script input stream |
Definition at line 323 of file rpg/System.tpp.
References Util::DArray< T >::allocate(), Pscf::Prdc::expandRGridDimension(), Util::Log::file(), Pscf::Prdc::hasSymmetry(), Pscf::Prdc::replicateUnitCell(), and UTIL_CHECK.
Referenced by Pscf::Rpg::run().
void Pscf::Rpg::System< D >::readCommands | ( | ) |
Read and process commands from the default command file.
This function reads the parameter file set by the -c command line option.
Definition at line 738 of file rpg/System.tpp.
References UTIL_THROW.
void Pscf::Rpg::System< D >::readWBasis | ( | const std::string & | filename | ) |
Read chemical potential fields in symmetry adapted basis format.
This function opens and reads the file with the name given by the "filename" string, which must contain chemical potential fields in symmetry-adapted basis format. This function sets the system w fields equal to those given in this file, by copying the coefficients of the basis expansion and computing values on a real-space grid (r-grid format).
On exit, both w().basis() and w().rgrid() are set, w().hasData() and w(). isSymmetric() return true, while hasCFields() and hasFreeEnergy() return false. System unit cell parameters are set to values read from the field file header.
SCFT calculations that use an iterator that preserves space group symmetry must set an initial field using a function that creates fields that can be represented in symmetry-adapted basis form, such as this function, setWBasis, or estimateWFromC.
filename | name of input w-field basis file |
Definition at line 752 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::readWRGrid | ( | const std::string & | filename | ) |
Read chemical potential fields in real space grid (r-grid) format.
This function opens and reads the file with the name given by the "filename" string, which must contains chemical potential fields in real space grid (r-grid) format. The function sets values for system w fields in r-grid format. It does not set attempt to set field values in symmetry-adapted basis format, because it cannot assume that the r-grid field exhibits the declared space group symmetry. Upon exit, w().rgrid() is reset and w().hasData() returns true, while w().isSymmetric(), hasCFields(), and hasFreeEnergy() return false. Unit cell parameters are set to values read from the field file header.
Initial chemical potential fields for field theoretic simulations are normally initialized using a function that sets the fields in r-grid format, such as as this function or setWRGrid.
filename | name of input w-field basis file |
Definition at line 778 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::setWBasis | ( | DArray< DArray< double > > const & | fields | ) |
Set chemical potential fields, in symmetry-adapted basis format.
This function sets values for w fields in both symmetry adapted and r-grid format by copying coefficient values provided in the "fields" container that is passed as and argument, and computing values on a real-space grid. Upon return, values of both w().basis() and w().rgrid() are set, while w().hasData() and w().isSymmetric() return true, and hasCFields() and hasFreeEnergy() return false. Unit cell parameters are left unchanged.
fields | array of new w (chemical potential) fields |
Definition at line 866 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::setWRGrid | ( | DArray< RField< D > > const & | fields | ) |
Set new w fields, in real-space (r-grid) format.
This function set values for w fields in r-grid format, but does not set components the symmetry-adapted basis format. Upon return return w.rgrid() is set, w().hasData() returns true, while hasCFields(), hasFreeEnergy(), and w().isSymmetric() all return false. Unit cell parameters are unchanged.
fields | array of new w (chemical potential) fields |
Definition at line 881 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::setWRGrid | ( | DeviceArray< cudaReal > & | fields | ) |
Set new w fields, in unfolded real-space (r-grid) format.
The function parameter "fields" is an unfolded array containing r-grid fields for all monomer types in a single array, with the field for monomer 0 first, followed by the field for monomer 1, etc. This function sets w().rgrid() but does not set w().basis(). On exit, w().hasData() returns true, while w().isSymmetric(), hasFreeEnergy(), and hasCFields() all return false.
fields | unfolded array of new chemical potential fields |
Definition at line 893 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::symmetrizeWFields | ( | ) |
Symmetrize r-grid w-fields, compute basis components.
On exit, w().hasData() and w().isSymmetric() are true, while hasCFields() is false.
Definition at line 905 of file rpg/System.tpp.
void Pscf::Rpg::System< D >::estimateWfromC | ( | const std::string & | filename | ) |
Construct trial w-fields from c-fields.
This function reads concentration fields in symmetrized basis format and constructs an initial guess for corresponding chemical potential fields by setting the Lagrange multiplier field xi to zero. The result is stored in the system w field container.
Upon return, w().hasData() and w().isSymmetric() return true, while hasCFields() and hasFreeEnergy() return false.
filename | name of input c-field file (basis format) |
Definition at line 809 of file rpg/System.tpp.
References Util::DArray< T >::allocate(), Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::setUnitCell | ( | UnitCell< D > const & | unitCell | ) |
Set parameters of the associated unit cell.
The lattice (i.e., lattice system type) set in the UnitCell<D> unitCell input parameter must agree with any lattice enum value that was set previously in the parameter file, or an Exception is thrown.
If a space group has been set but a basis has not yet been constructed, then this and the other setUnitCell member functions all will construct a symmetry-adapted basis and then allocate memory for fields stored in a symmetry-adapted basis format.
unitCell | new UnitCell<D> (i.e., new parameters) |
Definition at line 914 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::setUnitCell | ( | typename UnitCell< D >::LatticeSystem< D > | lattice, |
FSArray< double, 6 > const & | parameters ) |
Set state of the associated unit cell.
The lattice argument must agree with Domain::lattice() on input if Domain::lattice() is not null, and the size of the parameters array must agree with the expected number of lattice parameters.
lattice | lattice system |
parameters | array of new unit cell parameters |
Definition at line 930 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::setUnitCell | ( | FSArray< double, 6 > const & | parameters | ) |
Set parameters of the associated unit cell.
The size of the FSArray<double, 6> parameters must agree with the expected number of parameters for the current lattice type.
parameters | array of new unit cell parameters |
Definition at line 946 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::compute | ( | bool | needStress = false | ) |
Solve the modified diffusion equation once, without iteration.
This function calls the Mixture::compute() function to solve the statistical mechanics problem for a non-interacting system subjected to the currrent chemical potential fields (wFields and wFieldRGrid). This requires solution of the modified diffusion equation for all polymers, computation of Boltzmann weights for all solvents, computation of molecular partition functions for all species, and computation of concentration fields for blocks and solvents, and computation of overall concentrations for all monomer types. This function does not compute the canonical (Helmholtz) free energy or grand-canonical free energy (i.e., pressure). Upon return, the flag hasCFields is set true.
If argument needStress == true, then this function also calls Mixture<D>::computeStress() to compute the stress.
needStress | true if stress is needed, false otherwise |
Definition at line 963 of file rpg/System.tpp.
References UTIL_CHECK.
int Pscf::Rpg::System< D >::iterate | ( | bool | isContinuation = false | ) |
Iteratively solve a SCFT problem.
This function calls the iterator to attempt to solve the SCFT problem for the current mixture and system parameters, using the current chemical potential fields (wFields and wFieldRGrid) and current unit cell parameter values as initial guesses. Upon exist, hasCFields is set true whether or not convergence is obtained to within the desired tolerance. The Helmholtz free energy and pressure are computed if and only if convergence is obtained.
isContinuation | true iff a continuation within a sweep |
Definition at line 990 of file rpg/System.tpp.
References Util::Log::file(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::sweep | ( | ) |
Sweep in parameter space, solving an SCF problem at each point.
This function uses a Sweep object that was initialized in the parameter file to solve the SCF problem at a sequence of points along a line in parameter space. The nature of this sequence is determined by implementation of a subclass of Sweep and the parameters passed to the sweep object in the parameter file.
Definition at line 1031 of file rpg/System.tpp.
References Util::Log::file(), and UTIL_CHECK.
Referenced by pscfpp.output.Sweep::__getitem__(), pscfpp.output.Sweep::__init__(), pscfpp.output.Sweep::__len__(), pscfpp.output.Sweep::summary(), and pscfpp.output.Sweep::summaryString().
void Pscf::Rpg::System< D >::simulate | ( | int | nStep | ) |
Perform a field theoretic simulation.
Perform a field theoretic simulation using the partial saddle-point approximation (PS-FTS). The type of simulation (BD or MC) is determined by the type of Simulator (BdSimulator or McSimulator) created in the parameter file. The number of BD steps or atttempted MC moves to be performed is given by the parameter "nStep".
nStep | number of simulation (BD or MC) steps |
Definition at line 1054 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::computeFreeEnergy | ( | ) |
Compute free energy density and pressure for current fields.
This function should be called after a successful call of iterator().solve(). Resulting values are returned by the freeEnergy() and pressure() accessor functions.
Definition at line 1115 of file rpg/System.tpp.
References Pscf::Prdc::Cuda::Reduce::innerProduct(), Pscf::PolymerTmpl< Block >::length(), Pscf::Species::mu(), Pscf::Species::phi(), Pscf::SolventDescriptor::size(), and UTIL_CHECK.
|
inline |
Get precomputed Helmoltz free energy per monomer / kT.
The value retrieved by this function is pre-computed by the computeFreeEnergy() function.
Definition at line 1330 of file rpg/System.h.
References UTIL_CHECK.
Referenced by pscfpp.output.Thermo::__init__(), and pscfpp.output.Thermo::read().
|
inline |
Get precomputed pressure times monomer volume / kT.
The value retrieved by this function is pre-computed by the computeFreeEnergy() function.
Definition at line 1338 of file rpg/System.h.
References UTIL_CHECK.
Referenced by pscfpp.output.Thermo::__init__(), and pscfpp.output.Thermo::read().
void Pscf::Rpg::System< D >::writeParamNoSweep | ( | std::ostream & | out | ) | const |
Write parameter file to an ostream, omitting the sweep block.
This function omits the Sweep block of the parameter file, if any, in order to allow the output produced during a sweep to refer only to parameters relevant to a single state point, and to be rerunnable as a parameter file for a single SCFT calculation.
Definition at line 1330 of file rpg/System.tpp.
void Pscf::Rpg::System< D >::writeThermo | ( | std::ostream & | out | ) |
Write thermodynamic properties to a file.
This function outputs Helmholtz free energy per monomer, pressure (in units of kT per monomer volume), the volume fraction and chemical potential of each species, and unit cell parameters.
If parameter "out" is a file that already exists, this function will append this information to the end of the file, rather than overwriting that file. Calling writeParamNoSweep and writeThermo in succession with the same file will thus produce a single file containing both input parameters and resulting thermodynanic properties.
out | output stream |
Definition at line 1346 of file rpg/System.tpp.
void Pscf::Rpg::System< D >::writeStress | ( | std::ostream & | out | ) |
Write stress properties to a file.
This function outputs derivatives of free energy w/ respect to each unit cell parameters.
Call writeStress after writeThermo if and only if the iterator is not flexible. If parameter "out" is a file that already exists, this function will append this information to the end of the file, rather than overwriting that file.
out | output stream |
Definition at line 1410 of file rpg/System.tpp.
void Pscf::Rpg::System< D >::writeWBasis | ( | const std::string & | filename | ) |
Write chemical potential fields in symmetry adapted basis format.
filename | name of output file |
Definition at line 1426 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::writeWRGrid | ( | const std::string & | filename | ) | const |
Write chemical potential fields in real space grid (r-grid) format.
filename | name of output file |
Definition at line 1437 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::writeCBasis | ( | const std::string & | filename | ) |
Write concentrations in symmetry-adapted basis format.
filename | name of output file |
Definition at line 1449 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::writeCRGrid | ( | const std::string & | filename | ) | const |
Write concentration fields in real space grid (r-grid) format.
filename | name of output file |
Definition at line 1460 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::writeBlockCRGrid | ( | const std::string & | filename | ) | const |
Write c fields for all blocks and solvents in r-grid format.
Writes concentrations for all blocks of all polymers and all solvent species in r-grid format. Columns associated with blocks appear ordered by polymer id and then by block id, followed by solvent species ordered by solvent id.
filename | name of output file |
Definition at line 1473 of file rpg/System.tpp.
References Util::DArray< T >::allocate(), Util::Array< Data >::capacity(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::writeQSlice | ( | std::string const & | filename, |
int | polymerId, | ||
int | blockId, | ||
int | directionId, | ||
int | segmentId ) const |
Write specified slice of a propagator at fixed s in r-grid format.
filename | name of output file |
polymerId | integer id of the polymer |
blockId | integer id of the block within the polymer |
directionId | integer id of the direction (0 or 1) |
segmentId | integer integration step index |
Definition at line 1496 of file rpg/System.tpp.
References Pscf::PolymerTmpl< Block >::nBlock(), Pscf::PolymerTmpl< Block >::propagator(), Pscf::Rpg::Propagator< D >::q(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::writeQTail | ( | std::string const & | filename, |
int | polymerId, | ||
int | blockId, | ||
int | directionId ) const |
Write the final slice of a propagator in r-grid format.
filename | name of output file |
polymerId | integer id of the polymer |
blockId | integer id of the block within the polymer |
directionId | integer id of the direction (0 or 1) |
Definition at line 1518 of file rpg/System.tpp.
References Pscf::PolymerTmpl< Block >::nBlock(), Pscf::PolymerTmpl< Block >::propagator(), Pscf::Rpg::Propagator< D >::tail(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::writeQ | ( | std::string const & | filename, |
int | polymerId, | ||
int | blockId, | ||
int | directionId ) const |
Write one propagator for one block, in r-grid format.
filename | name of output file |
polymerId | integer id of the polymer |
blockId | integer id of the block within the polymer |
directionId | integer id of the direction (0 or 1) |
Definition at line 1539 of file rpg/System.tpp.
References Pscf::PolymerTmpl< Block >::nBlock(), Pscf::Rpg::Propagator< D >::ns(), Pscf::PolymerTmpl< Block >::propagator(), Pscf::Rpg::Propagator< D >::q(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::writeQAll | ( | std::string const & | basename | ) |
Write all propagators of all blocks, each to a separate file.
Write all propagators for both directions for all blocks of all polymers, with each propagator in a separate file. The function writeQ is called internally for each propagator, and is passed an automatically generated file name. The file name for each propagator is given by a string of the form (basename)_(ip)_(ib)_(id), where (basename) denotes the value of the std::string function parameter basename, and where (ip), (ib), and (id) denote the string representations of a polymer indiex ip, a block index ib, and direction index id, with id = 0 or 1. For example, if basename == "out/q", then the file name of the propagator for direction 1 of block 2 of polymer 0 would be "out/q_0_2_1".
basename | common prefix for output file names |
Definition at line 1579 of file rpg/System.tpp.
References Util::toString().
void Pscf::Rpg::System< D >::writeStars | ( | const std::string & | filename | ) | const |
Output information about stars and symmetrized basis functions.
This function opens a file with the specified filename and then calls Basis::outputStars.
filename | name of output file |
Definition at line 1608 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::writeWaves | ( | const std::string & | filename | ) | const |
Output information about waves.
This function opens a file with the specified filename and then calls Basis::outputWaves.
filename | name of output file |
Definition at line 1624 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::writeGroup | ( | std::string const & | filename | ) | const |
Output all elements of the space group.
filename | name of output file |
Definition at line 1640 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::basisToRGrid | ( | const std::string & | inFileName, |
const std::string & | outFileName ) |
Convert a field from symmetry-adapted basis to r-grid format.
This and other field conversion functions do not change the w or c fields stored by this System - all required calculations are performed using temporary or mutable memory.
inFileName | name of input file |
outFileName | name of output file |
Definition at line 1652 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::rGridToBasis | ( | const std::string & | inFileName, |
const std::string & | outFileName ) |
Convert a field from real-space grid to symmetrized basis format.
This function checks if the input fields have the declared space group symmetry, and prints a warning if it detects deviations that exceed some small threshhold, but proceeds to attempt the conversion even if such an error is detected. Converting a field that does not have the declared space group symmetry to basis format is a destructive operation that modifies the fields.
inFileName | name of input file |
outFileName | name of output file |
Definition at line 1680 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::kGridToRGrid | ( | const std::string & | inFileName, |
const std::string & | outFileName ) |
Convert fields from Fourier (k-grid) to real-space (r-grid) format.
inFileName | name of input file |
outFileName | name of output file |
Definition at line 1708 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::rGridToKGrid | ( | const std::string & | inFileName, |
const std::string & | outFileName ) |
Convert fields from real-space (r-grid) to Fourier (k-grid) format.
inFileName | name of input file |
outFileName | name of output file |
Definition at line 1731 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::kGridToBasis | ( | const std::string & | inFileName, |
const std::string & | outFileName ) |
Convert fields from Fourier (k-grid) to symmetrized basis format.
This function checks if the input fields have the declared space group symmetry, and prints a warning if it detects deviations that exceed some small threshhold, but proceeds to attempt the conversion even if such an error is detected. Converting a field that does not have the declared space group symmetry to basis format is a destructive operation that modifies the fields.
inFileName | name of input file |
outFileName | name of output file |
Definition at line 1755 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::basisToKGrid | ( | const std::string & | inFileName, |
const std::string & | outFileName ) |
Convert fields from symmetrized basis to Fourier (k-grid) format.
inFileName | name of input file (basis format) |
outFileName | name of output file (k-grid format) |
Definition at line 1783 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::compare | ( | const DArray< DArray< double > > | field1, |
const DArray< DArray< double > > | field2 ) |
Compare arrays of fields in basis format, output a report.
Outputs maximum and root-mean-squared differences to the standard Log file.
field1 | first array of fields (basis format) |
field2 | second array of fields (basis format) |
Definition at line 1886 of file rpg/System.tpp.
References Pscf::FieldComparison< FT >::compare(), Util::Log::file(), Pscf::FieldComparison< FT >::maxDiff(), Pscf::FieldComparison< FT >::rmsDiff(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::compare | ( | const DArray< RField< D > > | field1, |
const DArray< RField< D > > | field2 ) |
Compare two fields in r-grid format, output a report.
Outputs maximum and root-mean-squared differences to the standard Log file.
field1 | first array of fields (r-grid format) |
field2 | second array of fields (r-grid format) |
Definition at line 1906 of file rpg/System.tpp.
References Pscf::FieldComparison< FT >::compare(), Util::Log::file(), Pscf::FieldComparison< FT >::maxDiff(), and Pscf::FieldComparison< FT >::rmsDiff().
bool Pscf::Rpg::System< D >::checkRGridFieldSymmetry | ( | const std::string & | inFileName, |
double | epsilon = 1.0E-8 ) |
Check if r-grid fields have the declared space group symmetry.
inFileName | name of input file |
epsilon | error threshold used when testing for symmetry |
Definition at line 1812 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), and UTIL_CHECK.
void Pscf::Rpg::System< D >::scaleFieldsBasis | ( | const std::string & | inFileName, |
const std::string & | outFileName, | ||
double | factor ) |
Multiply all components of an array of basis fields by a scalar.
inFileName | name of input field file |
outFileName | name of file for rescaled output fields |
factor | factor by which to multiply all field elements |
Definition at line 1846 of file rpg/System.tpp.
References Pscf::Prdc::readFieldHeader(), Pscf::Prdc::FieldIoReal< D, RFRT, RFKT, FFTT >::readFieldsBasis(), Pscf::Prdc::FieldIoReal< D, RFRT, RFKT, FFTT >::scaleFieldsBasis(), and Pscf::Prdc::FieldIoReal< D, RFRT, RFKT, FFTT >::writeFieldsBasis().
void Pscf::Rpg::System< D >::scaleFieldsRGrid | ( | const std::string & | inFileName, |
const std::string & | outFileName, | ||
double | factor ) const |
Multiply all elements of an array of r-grid fields by a scalar.
inFileName | name of input field file |
outFileName | name of file for rescaled output fields |
factor | factor by which to multiply all field elements |
Definition at line 1869 of file rpg/System.tpp.
References Pscf::Rpg::FieldIo< D >::readFieldsRGrid(), Pscf::Prdc::FieldIoReal< D, RFRT, RFKT, FFTT >::scaleFieldsRGrid(), and Pscf::Rpg::FieldIo< D >::writeFieldsRGrid().
void Pscf::Rpg::System< D >::expandRGridDimension | ( | const std::string & | inFileName, |
const std::string & | outFileName, | ||
int | d, | ||
DArray< int > | newGridDimensions ) |
Expand the number of spatial dimensions of an r-grid field.
This function reads a D-dimensional field and outputs a field in a format appropriate for d-dimensional space, for d > D, by assuming that all field values are independent of coordinates associated with the added dimensions. It can thus create a file representing a field with lamellar (D=1) or hexagonal (D=2) symmetry on a 3D (d=3) grid.
Element i of array newGridDimensions contains the number of grid points in added dimension D + i. This array must have a capacity d - D.
inFileName | filename name of input field file |
outFileName | filename name of output field file |
d | intended dimensions (d > D) |
newGridDimensions | number of grid points in added dimensions |
Definition at line 1069 of file rpg/System.tpp.
References UTIL_CHECK.
void Pscf::Rpg::System< D >::replicateUnitCell | ( | const std::string & | inFileName, |
const std::string & | outFileName, | ||
IntVec< D > const & | replicas ) |
Replicate the crystal unit cell to create a larger cell.
This function reads a D-dimensional field and replicates the unit cell a specified number of times in each D direction
Element i of array replicas contains the number of replication times in direction i.
inFileName | filename name of input field file |
outFileName | filename name of output field file |
replicas | the number of replicas in each D direction |
Definition at line 1093 of file rpg/System.tpp.
void Pscf::Rpg::System< D >::writeTimers | ( | std::ostream & | out | ) |
Write timer file to an ostream.
out | output stream |
Definition at line 1301 of file rpg/System.tpp.
References Util::Log::file().
void Pscf::Rpg::System< D >::clearTimers | ( | ) |
Clear timers.
Definition at line 1317 of file rpg/System.tpp.
|
inline |
Get container of chemical potential fields (w fields).
Definition at line 1299 of file rpg/System.h.
|
inline |
Get container of monomer concentration fields (c fields).
Definition at line 1305 of file rpg/System.h.
|
inline |
Get container of external potential fields (non-const reference).
Definition at line 1310 of file rpg/System.h.
Referenced by Pscf::Rpg::ExtGenFilm< D >::isGenerated().
|
inline |
Get container of external potential fields (const reference).
Definition at line 1315 of file rpg/System.h.
|
inline |
Get the mask (field to which total density is constrained).
Definition at line 1320 of file rpg/System.h.
Referenced by Pscf::Rpg::MaskGenFilm< D >::isGenerated().
|
inline |
Get the mask by const reference.
Definition at line 1325 of file rpg/System.h.
|
inline |
Get Mixture by reference.
Definition at line 1203 of file rpg/System.h.
|
inline |
Get Mixture by const reference.
Definition at line 1208 of file rpg/System.h.
|
inline |
Get interaction (i.e., excess free energy) by reference.
Definition at line 1213 of file rpg/System.h.
References UTIL_ASSERT.
|
inline |
Get interaction (i.e., excess free energy) by const reference.
Definition at line 1221 of file rpg/System.h.
References UTIL_ASSERT.
|
inline |
Get Domain by non const reference.
Definition at line 1229 of file rpg/System.h.
|
inline |
Get Domain by const reference.
Definition at line 1234 of file rpg/System.h.
|
inline |
Get the iterator by non-const reference.
Definition at line 1263 of file rpg/System.h.
References UTIL_ASSERT.
|
inline |
Get the iterator by const reference.
Definition at line 1271 of file rpg/System.h.
References UTIL_ASSERT.
|
inline |
Get Simulator for field theoretic simulation.
Definition at line 1279 of file rpg/System.h.
References UTIL_ASSERT.
|
inline |
Get crystal UnitCell by const reference.
Definition at line 1238 of file rpg/System.h.
|
inline |
Get spatial discretization Mesh by const reference.
Definition at line 1243 of file rpg/System.h.
|
inline |
Get the Basis by reference.
Definition at line 1248 of file rpg/System.h.
|
inline |
Get the FieldIo by const reference.
Definition at line 1258 of file rpg/System.h.
|
inline |
Get the FFT object by const reference.
Definition at line 1253 of file rpg/System.h.
|
inline |
Get homogeneous mixture (for reference calculations).
Definition at line 1293 of file rpg/System.h.
|
inline |
Get FileMaster by reference.
Definition at line 1287 of file rpg/System.h.
|
inline |
Does this system have an Iterator object?
Definition at line 1356 of file rpg/System.h.
|
inline |
Does this system have an associated Sweep object?
Definition at line 1361 of file rpg/System.h.
|
inline |
Does this system have an initialized Simulator?
Definition at line 1366 of file rpg/System.h.
|
inline |
Does this system have external potential fields?
Definition at line 1371 of file rpg/System.h.
|
inline |
Does this system have a mask (inhomogeneous density constraint) ?
Definition at line 1376 of file rpg/System.h.
|
inline |
Have c fields been computed from the current w fields ?
Definition at line 1351 of file rpg/System.h.
|
inline |
Has the free energy been computed from the current w fields?
Definition at line 1346 of file rpg/System.h.