PSCF v1.4.0
Pscf::Prdc::FieldState< D, FT, ST > Class Template Reference

Record of a state of a periodic system (fields + unit cell). More...

#include <FieldState.h>

Inheritance diagram for Pscf::Prdc::FieldState< D, FT, ST >:
Pscf::Rp::BasisFieldState< D, Types< D > > Pscf::Rpc::BasisFieldState< D > Pscf::Rpg::BasisFieldState< D >

Public Member Functions

Construction and Destruction
 FieldState ()
 Default constructor.
 FieldState (ST &system)
 Constructor, creates association with a System.
 ~FieldState ()
 Destructor.
void setSystem (ST &system)
 Set association with System, after default construction.
Accessors
const DArray< FT > & fields () const
 Get array of all fields by const reference.
DArray< FT > & fields ()
 Get array of all chemical potential fields (non-const reference).
const FT & field (int monomerId) const
 Get a field for a single monomer type by const reference.
FT & field (int monomerId)
 Get field for a specific monomer type (non-const reference).
const UnitCell< D > & unitCell () const
 Get UnitCell (i.e., lattice type and parameters) by const reference.
UnitCell< D > & unitCell ()
 Get the UnitCell by non-const reference.

Protected Member Functions

bool hasSystem ()
 Has a system been set?
ST & system ()
 Get associated System by reference.

Detailed Description

template<int D, class FT, class ST>
class Pscf::Prdc::FieldState< D, FT, ST >

Record of a state of a periodic system (fields + unit cell).

Template parameters:

  • D : dimensions of space
  • FT : a field or array type
  • ST : a system type

A FieldState<D, FT, ST> has:

  • An array of field objects of class FT
  • a UnitCell<D> object
  • a pointer to a system of class ST

Specializations of FieldState can be used to store either chemical potential or concentration fields, along with an associated unit cell. Different choices for class FT can be used to store fields in symmetry-adapted basis function, r-grid or k-grid format.

FieldState is a standard class template, in which all member function definitions are located in this header file.

Definition at line 46 of file FieldState.h.

Constructor & Destructor Documentation

◆ FieldState() [1/2]

template<int D, class FT, class ST>
Pscf::Prdc::FieldState< D, FT, ST >::FieldState ( )

Default constructor.

Definition at line 208 of file FieldState.h.

◆ FieldState() [2/2]

template<int D, class FT, class ST>
Pscf::Prdc::FieldState< D, FT, ST >::FieldState ( ST & system)

Constructor, creates association with a System.

Equivalent to default construction followed by setSystem(system).

Parameters
systemassociated parent ST object.

Definition at line 218 of file FieldState.h.

References setSystem(), and system().

◆ ~FieldState()

template<int D, class FT, class ST>
Pscf::Prdc::FieldState< D, FT, ST >::~FieldState ( )

Destructor.

Definition at line 228 of file FieldState.h.

Member Function Documentation

◆ setSystem()

template<int D, class FT, class ST>
void Pscf::Prdc::FieldState< D, FT, ST >::setSystem ( ST & system)

Set association with System, after default construction.

Parameters
systemassociated parent ST object.

Definition at line 235 of file FieldState.h.

References hasSystem(), system(), and UTIL_CHECK.

Referenced by FieldState().

◆ fields() [1/2]

template<int D, class FT, class ST>
const DArray< FT > & Pscf::Prdc::FieldState< D, FT, ST >::fields ( ) const
inline

Get array of all fields by const reference.

The array capacity is equal to the number of monomer types.

Definition at line 159 of file FieldState.h.

◆ fields() [2/2]

template<int D, class FT, class ST>
DArray< FT > & Pscf::Prdc::FieldState< D, FT, ST >::fields ( )
inline

Get array of all chemical potential fields (non-const reference).

The array capacity is equal to the number of monomer types.

Definition at line 164 of file FieldState.h.

◆ field() [1/2]

template<int D, class FT, class ST>
const FT & Pscf::Prdc::FieldState< D, FT, ST >::field ( int monomerId) const
inline

Get a field for a single monomer type by const reference.

Parameters
monomerIdinteger monomer type index

Definition at line 169 of file FieldState.h.

◆ field() [2/2]

template<int D, class FT, class ST>
FT & Pscf::Prdc::FieldState< D, FT, ST >::field ( int monomerId)
inline

Get field for a specific monomer type (non-const reference).

Parameters
monomerIdinteger monomer type index

Definition at line 174 of file FieldState.h.

◆ unitCell() [1/2]

template<int D, class FT, class ST>
const UnitCell< D > & Pscf::Prdc::FieldState< D, FT, ST >::unitCell ( ) const
inline

Get UnitCell (i.e., lattice type and parameters) by const reference.

Definition at line 179 of file FieldState.h.

◆ unitCell() [2/2]

template<int D, class FT, class ST>
UnitCell< D > & Pscf::Prdc::FieldState< D, FT, ST >::unitCell ( )
inline

Get the UnitCell by non-const reference.

Definition at line 184 of file FieldState.h.

◆ hasSystem()

template<int D, class FT, class ST>
bool Pscf::Prdc::FieldState< D, FT, ST >::hasSystem ( )
inlineprotected

Has a system been set?

Definition at line 191 of file FieldState.h.

Referenced by setSystem().

◆ system()

template<int D, class FT, class ST>
ST & Pscf::Prdc::FieldState< D, FT, ST >::system ( )
inlineprotected

Get associated System by reference.

Definition at line 196 of file FieldState.h.

Referenced by FieldState(), and setSystem().


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