PSCF v1.1
Public Member Functions | Protected Member Functions | List of all members
Pscf::Pspc::FilmIteratorBase< D, IteratorType > Class Template Referenceabstract

Descriptor for a FilmIterator object. More...

#include <FilmIteratorBase.h>

Inheritance diagram for Pscf::Pspc::FilmIteratorBase< D, IteratorType >:
Pscf::Pspc::Iterator< D > Util::ParamComposite Util::ParamComponent Util::Serializable Util::MpiFileIo Pscf::Pspc::FilmIterator< D, IteratorType >

Public Member Functions

 FilmIteratorBase (System< D > &system)
 Constructor. More...
 
 ~FilmIteratorBase ()
 Destructor. More...
 
void readParameters (std::istream &in)
 Read and initialize. More...
 
int solve (bool isContinuation=false)
 Iterate to a solution. More...
 
IteratorType const & iterator () const
 Return const reference to the real iterator within this FilmIterator. More...
 
virtual void setFlexibleParams ()=0
 Modifies flexibleParams_ to be compatible with thin film constraint. More...
 
virtual void checkLatticeVectors () const =0
 Check that lattice vectors are compatible with thin film constraint. More...
 
void generateWallFields ()
 Generates mask and external field for the walls and stores in System. More...
 
void updateWallFields ()
 Updates the mask and external fields for the walls if needed. More...
 
void checkSpaceGroup () const
 Check that space group is compatible with the thin film constraint. More...
 
bool isSymmetric () const
 Are the walls chemically identical? More...
 
bool isAthermal () const
 Are the walls athermal? More...
 
void setChiBottom (int s, double chi)
 Set the value of chi between species s and the bottom wall. More...
 
void setChiTop (int s, double chi)
 Set the value of chi between species s and the top wall. More...
 
int normalVecId () const
 Get value of normalVecId. More...
 
double interfaceThickness () const
 Get value of interfaceThickness. More...
 
double wallThickness () const
 Get value of wallThickness. More...
 
DArray< double > const & chiTop () const
 Get const chiBottom matrix by reference. More...
 
DArray< double > const & chiBottom () const
 Get const chiTop array by reference. More...
 
double chiBottom (int s) const
 Get the chi parameter between the bottom wall and species s. More...
 
double chiTop (int s) const
 Get the chi parameter between the top wall and species s. More...
 
- Public Member Functions inherited from Pscf::Pspc::Iterator< D >
 Iterator ()
 Default constructor. More...
 
 Iterator (System< D > &system)
 Constructor. More...
 
 ~Iterator ()
 Destructor. More...
 
virtual int solve (bool isContinuation)=0
 Iterate to solution. More...
 
bool isFlexible () const
 Return true iff unit cell has any flexible lattice parameters. More...
 
FSArray< bool, 6 > flexibleParams () const
 Get the array indicating which lattice parameters are flexible. More...
 
int nFlexibleParams () const
 Get the number of flexible lattice parameters. More...
 
- Public Member Functions inherited from Util::ParamComposite
 ParamComposite ()
 Constructor. More...
 
 ParamComposite (const ParamComposite &other)
 Copy constructor. More...
 
 ParamComposite (int capacity)
 Constructor. More...
 
virtual ~ParamComposite ()
 Virtual destructor. More...
 
void resetParam ()
 Resets ParamComposite to its empty state. More...
 
virtual void readParam (std::istream &in)
 Read the parameter file block. More...
 
virtual void readParamOptional (std::istream &in)
 Read optional parameter file block. More...
 
virtual void writeParam (std::ostream &out) const
 Write all parameters to an output stream. More...
 
virtual void load (Serializable::IArchive &ar)
 Load all parameters from an input archive. More...
 
virtual void loadOptional (Serializable::IArchive &ar)
 Load an optional ParamComposite. More...
 
virtual void loadParameters (Serializable::IArchive &ar)
 Load state from archive, without adding Begin and End lines. More...
 
virtual void save (Serializable::OArchive &ar)
 Saves all parameters to an archive. More...
 
void saveOptional (Serializable::OArchive &ar)
 Saves isActive flag, and then calls save() iff isActive is true. More...
 
void readParamComposite (std::istream &in, ParamComposite &child, bool next=true)
 Add and read a required child ParamComposite. More...
 
void readParamCompositeOptional (std::istream &in, ParamComposite &child, bool next=true)
 Add and attempt to read an optional child ParamComposite. More...
 
template<typename Type >
ScalarParam< Type > & read (std::istream &in, const char *label, Type &value)
 Add and read a new required ScalarParam < Type > object. More...
 
template<typename Type >
ScalarParam< Type > & readOptional (std::istream &in, const char *label, Type &value)
 Add and read a new optional ScalarParam < Type > object. More...
 
template<typename Type >
CArrayParam< Type > & readCArray (std::istream &in, const char *label, Type *value, int n)
 Add and read a required C array parameter. More...
 
template<typename Type >
CArrayParam< Type > & readOptionalCArray (std::istream &in, const char *label, Type *value, int n)
 Add and read an optional C array parameter. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
template<typename Type >
DSymmMatrixParam< Type > & readDSymmMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int n)
 Add and read a required symmetrix DMatrix. More...
 
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. More...
 
BeginreadBegin (std::istream &in, const char *label, bool isRequired=true)
 Add and read a class label and opening bracket. More...
 
EndreadEnd (std::istream &in)
 Add and read the closing bracket. More...
 
BlankreadBlank (std::istream &in)
 Add and read a new Blank object, representing a blank line. More...
 
void loadParamComposite (Serializable::IArchive &ar, ParamComposite &child, bool next=true)
 Add and load a required child ParamComposite. More...
 
void loadParamCompositeOptional (Serializable::IArchive &ar, ParamComposite &child, bool next=true)
 Add and load an optional child ParamComposite if isActive. More...
 
template<typename Type >
ScalarParam< Type > & loadParameter (Serializable::IArchive &ar, const char *label, Type &value, bool isRequired)
 Add and load a new ScalarParam < Type > object. More...
 
template<typename Type >
ScalarParam< Type > & loadParameter (Serializable::IArchive &ar, const char *label, Type &value)
 Add and load new required ScalarParam < Type > object. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
void addParamComposite (ParamComposite &child, bool next=true)
 Add a child ParamComposite object to the format array. More...
 
BeginaddBegin (const char *label)
 Add a Begin object representing a class name and bracket. More...
 
EndaddEnd ()
 Add a closing bracket. More...
 
BlankaddBlank ()
 Create and add a new Blank object, representing a blank line. More...
 
std::string className () const
 Get class name string. More...
 
bool isRequired () const
 Is this ParamComposite required in the input file? More...
 
bool isActive () const
 Is this parameter active? More...
 
- Public Member Functions inherited from Util::ParamComponent
virtual ~ParamComponent ()
 Destructor. More...
 
virtual void readParam (std::istream &in)=0
 Read parameter(s) from file. More...
 
virtual void writeParam (std::ostream &out) const =0
 Read parameter(s) to file. More...
 
virtual void load (Serializable::IArchive &ar)
 Load internal state from an archive. More...
 
virtual void save (Serializable::OArchive &ar)
 Save internal state to an archive. More...
 
virtual void resetParam ()
 Nontrivial implementation provided by ParamComposite subclass. More...
 
void setIndent (const ParamComponent &parent, bool next=true)
 Set indent level. More...
 
std::string indent () const
 Return indent string for this object (string of spaces). More...
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 Serialize this ParamComponent as a string. More...
 
- Public Member Functions inherited from Util::Serializable
virtual ~Serializable ()
 Destructor. More...
 
virtual void save (OArchive &ar)=0
 Save to an archive. More...
 
virtual void load (IArchive &ar)=0
 Load from an archive. More...
 
- Public Member Functions inherited from Util::MpiFileIo
 MpiFileIo ()
 Constructor. More...
 
 MpiFileIo (const MpiFileIo &other)
 Copy constructor. More...
 
bool isIoProcessor () const
 Can this processor do file I/O ? More...
 
void setIoCommunicator (MPI::Intracomm &communicator)
 Set the communicator. More...
 
void clearCommunicator ()
 Clear (nullify) the communicator. More...
 
bool hasIoCommunicator () const
 Does this object have an associated MPI communicator? More...
 
MPI::Intracomm & ioCommunicator () const
 Get the MPI communicator by reference. More...
 

Protected Member Functions

void setup ()
 Initialize just before entry to iterative loop. More...
 
IteratorType & iterator ()
 Return reference to the real iterator within this FilmIterator. More...
 
void generateExternalFields ()
 Generate external fields for the walls. More...
 
template<typename Type >
ScalarParam< Type > & read (std::istream &in, const char *label, Type &value)
 Add and read a new required ScalarParam < Type > object. More...
 
template<typename Type >
ScalarParam< Type > & readOptional (std::istream &in, const char *label, Type &value)
 Add and read a new optional ScalarParam < Type > object. More...
 
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. More...
 
void setParent (ParamComponent &param, bool next=true)
 Set this to the parent of a child component. More...
 
void addComponent (ParamComponent &param, bool isLeaf=true)
 Add a new ParamComponent object to the format array. More...
 
- Protected Member Functions inherited from Pscf::Pspc::Iterator< D >
System< D > const & system () const
 Get parent system by const reference. More...
 
System< D > & system ()
 Get parent system by non-const reference. More...
 
void setFlexibleParams (FSArray< bool, 6 > const &flexParams)
 Set the array indicating which lattice parameters are flexible. More...
 
- Protected Member Functions inherited from Util::ParamComposite
void setClassName (const char *className)
 Set class name string. More...
 
void setIsRequired (bool isRequired)
 Set or unset the isActive flag. More...
 
void setIsActive (bool isActive)
 Set or unset the isActive flag. More...
 
void setParent (ParamComponent &param, bool next=true)
 Set this to the parent of a child component. More...
 
void addComponent (ParamComponent &param, bool isLeaf=true)
 Add a new ParamComponent object to the format array. More...
 
template<typename Type >
ScalarParam< Type > & add (std::istream &in, const char *label, Type &value, bool isRequired=true)
 Add a new required ScalarParam < Type > object. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
- Protected Member Functions inherited from Util::ParamComponent
 ParamComponent ()
 Constructor. More...
 
 ParamComponent (const ParamComponent &other)
 Copy constructor. More...
 

Additional Inherited Members

- Public Types inherited from Util::Serializable
typedef BinaryFileOArchive OArchive
 Type of output archive used by save method. More...
 
typedef BinaryFileIArchive IArchive
 Type of input archive used by load method. More...
 
- Static Public Member Functions inherited from Util::ParamComponent
static void initStatic ()
 Initialize static echo member to false. More...
 
static void setEcho (bool echo=true)
 Enable or disable echoing for all subclasses of ParamComponent. More...
 
static bool echo ()
 Get echo parameter. More...
 
- Protected Attributes inherited from Pscf::Pspc::Iterator< D >
bool isFlexible_
 Are any lattice parameters flexible during iteration? More...
 
FSArray< bool, 6 > flexibleParams_
 Array of indices of the lattice parameters that are flexible. More...
 

Detailed Description

template<int D, typename IteratorType>
class Pscf::Pspc::FilmIteratorBase< D, IteratorType >

Descriptor for a FilmIterator object.

This base class template defines all traits of a FilmIterator that do not depend on D, the dimension of the system. The subclasses of FilmIteratorBase are the partial specializations of FilmIterator for 1D, 2D, and 3D.

If the user chooses a FilmIterator as their iterator, then the system will contain two parallel hard surfaces ("walls"), confining the polymers/solvents to a "thin film" region of the unit cell. This only affects the iterator, not the rest of SCFT, so we isolate the imposition of the thin film constraint to this subclass of iterator. This is essentially a wrapper for any other type of iterator (e.g., AmIterator), that adds the additional functionality required to impose the thin film constraint properly.

FilmIterator is generalized to be compatible with any iterator within it, as long as the iterator can impose 1) a mask that confines the polymers/solvents to a certain region of space, and 2) an external field. A FilmIterator object in the param file is created by appending "Film" to the end of the name of the iterator that is stored inside of FilmIterator (e.g., "AmIteratorFilm{" will create a FilmIterator with an AmIterator object inside of it).

Definition at line 51 of file FilmIteratorBase.h.

Constructor & Destructor Documentation

◆ FilmIteratorBase()

template<int D, typename IteratorType >
Pscf::Pspc::FilmIteratorBase< D, IteratorType >::FilmIteratorBase ( System< D > &  system)

Constructor.

Definition at line 34 of file FilmIteratorBase.tpp.

References Util::ParamComposite::setClassName(), and Pscf::Pspc::Iterator< D >::system().

◆ ~FilmIteratorBase()

template<int D, typename IteratorType >
Pscf::Pspc::FilmIteratorBase< D, IteratorType >::~FilmIteratorBase

Destructor.

Definition at line 56 of file FilmIteratorBase.tpp.

Member Function Documentation

◆ readParameters()

template<int D, typename IteratorType >
void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::readParameters ( std::istream &  in)
virtual

Read and initialize.

Parameters
ininput parameter stream

Reimplemented from Util::ParamComposite.

Definition at line 63 of file FilmIteratorBase.tpp.

◆ solve()

template<int D, typename IteratorType >
int Pscf::Pspc::FilmIteratorBase< D, IteratorType >::solve ( bool  isContinuation = false)
virtual

Iterate to a solution.

Parameters
isContinuationtrue iff continuation within a sweep

Implements Pscf::Pspc::Iterator< D >.

Definition at line 156 of file FilmIteratorBase.tpp.

◆ iterator() [1/2]

template<int D, typename IteratorType >
IteratorType const & Pscf::Pspc::FilmIteratorBase< D, IteratorType >::iterator
inline

◆ setFlexibleParams()

template<int D, typename IteratorType >
virtual void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::setFlexibleParams ( )
pure virtual

Modifies flexibleParams_ to be compatible with thin film constraint.

Modifies the flexibleParams_ array to be compatible with the thin film constraint. Stores resulting array in flexibleParams_ member of this object, as well as the flexibleParams_ member of the iterator within this object.

This function varies depending on D, the dimensionality of the system. Therefore, it is implemented in the partial class specializations in FilmIterator, rather than in this base class.

Implemented in Pscf::Pspc::FilmIterator< 1, IteratorType >, Pscf::Pspc::FilmIterator< 2, IteratorType >, and Pscf::Pspc::FilmIterator< 3, IteratorType >.

◆ checkLatticeVectors()

template<int D, typename IteratorType >
virtual void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::checkLatticeVectors ( ) const
pure virtual

Check that lattice vectors are compatible with thin film constraint.

Check that user-defined lattice basis vectors (stored in the Domain<D> object associated with this FilmIterator class) are compatible with the thin film constraint. All lattice basis vectors must be either parallel or perpendicular to the walls.

This function varies depending on D, the dimensionality of the system. Therefore, it is implemented in the partial class specializations in FilmIterator, rather than in this base class.

Implemented in Pscf::Pspc::FilmIterator< 1, IteratorType >, Pscf::Pspc::FilmIterator< 2, IteratorType >, and Pscf::Pspc::FilmIterator< 3, IteratorType >.

◆ generateWallFields()

template<int D, typename IteratorType >
void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::generateWallFields

Generates mask and external field for the walls and stores in System.

Generates the field representation of the walls, based on the values of wallThickness and interfaceThickness that were input by the user. Then, stores this wall field in system().mask() to be used as a mask during iteration, and also passes the corresponding external potential fields into system().h() if isAthermal() = false.

Definition at line 173 of file FilmIteratorBase.tpp.

References Pscf::Pspc::RField< D >::allocate(), and UTIL_CHECK.

◆ updateWallFields()

template<int D, typename IteratorType >
void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::updateWallFields

Updates the mask and external fields for the walls if needed.

Checks whether the lattice parameters have been updated since the last call of generateWallFields(), and if the parameters have changed then calls generateWallFields() again to update them.

Also updates the external fields if the wall/polymer chi parameters have been updated since external fields were last generated.

Definition at line 250 of file FilmIteratorBase.tpp.

References Util::FSArray< Data, Capacity >::size(), and UTIL_CHECK.

◆ checkSpaceGroup()

template<int D, typename IteratorType >
void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::checkSpaceGroup

Check that space group is compatible with the thin film constraint.

Definition at line 376 of file FilmIteratorBase.tpp.

References Util::Log::file(), Pscf::SymmetryGroup< Symmetry >::makeCompleteGroup(), Pscf::makeGroupFileName(), Pscf::SymmetryGroup< Symmetry >::size(), UTIL_CHECK, and UTIL_THROW.

◆ isSymmetric()

template<int D, typename IteratorType >
bool Pscf::Pspc::FilmIteratorBase< D, IteratorType >::isSymmetric

Are the walls chemically identical?

This is the case when chiBottom is equal to chiTop.

Definition at line 444 of file FilmIteratorBase.tpp.

References UTIL_CHECK.

◆ isAthermal()

template<int D, typename IteratorType >
bool Pscf::Pspc::FilmIteratorBase< D, IteratorType >::isAthermal

Are the walls athermal?

This is only true if all values in chiBottom and chiTop are zero.

Definition at line 465 of file FilmIteratorBase.tpp.

References UTIL_CHECK.

◆ setChiBottom()

template<int D, typename IteratorType >
void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::setChiBottom ( int  s,
double  chi 
)
inline

Set the value of chi between species s and the bottom wall.

Parameters
sspecies index, 0 <= id < nVertex
chivalue of chi(s,w)

Definition at line 295 of file FilmIteratorBase.h.

◆ setChiTop()

template<int D, typename IteratorType >
void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::setChiTop ( int  s,
double  chi 
)
inline

Set the value of chi between species s and the top wall.

Parameters
sspecies index, 0 <= id < nVertex
chivalue of chi(s,w)

Definition at line 301 of file FilmIteratorBase.h.

◆ normalVecId()

template<int D, typename IteratorType >
int Pscf::Pspc::FilmIteratorBase< D, IteratorType >::normalVecId
inline

Get value of normalVecId.

Definition at line 306 of file FilmIteratorBase.h.

◆ interfaceThickness()

template<int D, typename IteratorType >
double Pscf::Pspc::FilmIteratorBase< D, IteratorType >::interfaceThickness
inline

Get value of interfaceThickness.

Definition at line 311 of file FilmIteratorBase.h.

◆ wallThickness()

template<int D, typename IteratorType >
double Pscf::Pspc::FilmIteratorBase< D, IteratorType >::wallThickness
inline

Get value of wallThickness.

Definition at line 317 of file FilmIteratorBase.h.

◆ chiTop() [1/2]

template<int D, typename IteratorType >
DArray< double > const & Pscf::Pspc::FilmIteratorBase< D, IteratorType >::chiTop
inline

Get const chiBottom matrix by reference.

Definition at line 330 of file FilmIteratorBase.h.

◆ chiBottom() [1/2]

template<int D, typename IteratorType >
DArray< double > const & Pscf::Pspc::FilmIteratorBase< D, IteratorType >::chiBottom
inline

Get const chiTop array by reference.

Definition at line 323 of file FilmIteratorBase.h.

◆ chiBottom() [2/2]

template<int D, typename IteratorType >
double Pscf::Pspc::FilmIteratorBase< D, IteratorType >::chiBottom ( int  s) const
inline

Get the chi parameter between the bottom wall and species s.

Parameters
sspecies index, 0 <= id < nVertex

Definition at line 336 of file FilmIteratorBase.h.

◆ chiTop() [2/2]

template<int D, typename IteratorType >
double Pscf::Pspc::FilmIteratorBase< D, IteratorType >::chiTop ( int  s) const
inline

Get the chi parameter between the top wall and species s.

Parameters
sspecies index, 0 <= id < nVertex

Definition at line 342 of file FilmIteratorBase.h.

◆ setup()

template<int D, typename IteratorType >
void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::setup
protected

Initialize just before entry to iterative loop.

Allocate required memory, perform necessary checks to ensure user input is compatible with a film constraint, and create the mask / external fields that will be used to represent the walls during iteration.

Definition at line 116 of file FilmIteratorBase.tpp.

References UTIL_CHECK.

◆ iterator() [2/2]

template<int D, typename IteratorType >
IteratorType & Pscf::Pspc::FilmIteratorBase< D, IteratorType >::iterator
inlineprotected

Return reference to the real iterator within this FilmIterator.

Definition at line 283 of file FilmIteratorBase.h.

◆ generateExternalFields()

template<int D, typename IteratorType >
void Pscf::Pspc::FilmIteratorBase< D, IteratorType >::generateExternalFields
protected

Generate external fields for the walls.

Generate external fields only, and pass them into System for use during calculation. This is called by generateWallFields().

Definition at line 289 of file FilmIteratorBase.tpp.

References Util::DArray< Data >::allocate(), and UTIL_CHECK.

◆ read()

template<int D, typename IteratorType >
template<typename Type >
ScalarParam< Type > & Util::ParamComposite::read ( std::istream &  in,
const char *  label,
Type &  value 
)
protected

Add and read a new required ScalarParam < Type > object.

This is equivalent to ScalarParam<Type>(in, label, value, true).

Parameters
ininput stream for reading
labelLabel string
valuereference to new ScalarParam< Type >

Definition at line 305 of file ParamComposite.h.

Referenced by pscfpp.param.Composite::__init__(), pscfpp.field.Field::__init__(), pscfpp.command.Script::__init__(), pscfpp.output.Thermo::__init__(), pscfpp.param.Matrix::__init__(), and pscfpp.param.Array::__init__().

◆ readOptional()

template<int D, typename IteratorType >
template<typename Type >
ScalarParam< Type > & Util::ParamComposite::readOptional ( std::istream &  in,
const char *  label,
Type &  value 
)
inlineprotected

Add and read a new optional ScalarParam < Type > object.

This is equivalent to ScalarParam<Type>(in, label, value, false).

Parameters
ininput stream for reading
labelLabel string
valuereference to new ScalarParam< Type >

Definition at line 319 of file ParamComposite.h.

◆ readDArray()

template<int D, typename IteratorType >
template<typename Type >
DArrayParam< Type > & Util::ParamComposite::readDArray ( std::istream &  in,
const char *  label,
DArray< Type > &  array,
int  n 
)
inlineprotected

Add and read a required DArray < Type > parameter.

Parameters
ininput stream for reading
labelLabel string for new array
arrayDArray object
nnumber of elements
Returns
reference to the new DArrayParam<Type> object

Definition at line 359 of file ParamComposite.h.

◆ setParent()

template<int D, typename IteratorType >
void Util::ParamComposite::setParent ( ParamComponent param,
bool  next = true 
)
protected

Set this to the parent of a child component.

This function sets the indent and (ifdef UTIL_MPI) the ioCommunicator of the child component.

Parameters
paramchild ParamComponent
nextif true, set indent level one higher than for parent.

Definition at line 929 of file ParamComposite.cpp.

◆ addComponent()

template<int D, typename IteratorType >
void Util::ParamComposite::addComponent ( ParamComponent param,
bool  isLeaf = true 
)
protected

Add a new ParamComponent object to the format array.

Parameters
paramParameter object
isLeafIs this a leaf or a ParamComposite node?

Definition at line 937 of file ParamComposite.cpp.


The documentation for this class was generated from the following files: