PSCF v1.4.0
Pscf::Cpc::WFields< D > Class Template Reference

A container of w fields. More...

#include <WFields.h>

Inheritance diagram for Pscf::Cpc::WFields< D >:
Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >

Public Types

using Base = Cp::WFields< D, CField<D>, FieldIo<D> >
 Alias for base class.

Public Member Functions

void setFieldIo (FieldIo< D > const &fieldIo)
 Create association with FIT (store pointer).
void allocate (int nMonomer, IntVec< D > const &dimensions)
 Allocate memory for fields.
void setFields (DArray< CField< D > > const &fields)
 Set values for all fields.
void clear ()
 Clear data stored in this object without deallocating.
DArray< CField< D > > const & fields () const
 Get the array of all fields.
CField< D > const & field (int monomerId) const
 Get the field for one monomer type.
bool isAllocated () const
 Has memory been allocated for fields ?
bool hasData () const
 Has field data been set since it was last cleared?
Public Member Functions inherited from Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >
 WFields ()
 Constructor.
 ~WFields ()
 Destructor.
void setFieldIo (FieldIo< D > const &fieldIo)
 Create association with FIT (store pointer).
void setReadUnitCell (UnitCell< D > &cell)
 Set unit cell used when reading field files.
void setWriteUnitCell (UnitCell< D > const &cell)
 Set unit cell used when writing field files.
void allocate (int nMonomer, IntVec< D > const &dimensions)
 Allocate memory for fields.
void setFields (DArray< CField< D > > const &fields)
 Set values for all fields.
void readFields (std::istream &in)
 Read all fields from an input file.
void readFields (std::string const &filename)
 Read all fields from a named file.
void clear ()
 Clear data stored in this object without deallocating.
Signal< void > & signal ()
 Get the signal that notifies observers of w-field modification.
void writeFields (std::ostream &out) const
 Write fields to an output stream.
void writeFields (std::string const &filename) const
 Write fields to a named file.
DArray< CField< D > > const & fields () const
 Get the array of all fields.
CField< D > const & field (int monomerId) const
 Get the field for one monomer type.
bool isAllocated () const
 Has memory been allocated for fields ?
bool hasData () const
 Has field data been set since it was last cleared?

Protected Member Functions

IntVec< D > const & meshDimensions () const
 Get mesh dimensions in each direction, set on r-grid allocation.
int meshSize () const
 Get mesh size (number of grid points), set on r-grid allocation.
int nMonomer () const
 Get number of monomer types.
FieldIo< D > const & fieldIo () const
 Get associated FIT field IO object (const reference).
Protected Member Functions inherited from Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >
IntVec< D > const & meshDimensions () const
 Get mesh dimensions in each direction, set on r-grid allocation.
int meshSize () const
 Get mesh size (number of grid points), set on r-grid allocation.
int nMonomer () const
 Get number of monomer types.
FieldIo< D > const & fieldIo () const
 Get associated FIT field IO object (const reference).

Detailed Description

template<int D>
class Pscf::Cpc::WFields< D >

A container of w fields.

The public interface of this class is identical to that of the base class template Pscf::Cp::WFields. Please see documentation of that base class for API documentation.

Definition at line 32 of file cpc/field/WFields.h.

Member Typedef Documentation

◆ Base

template<int D>
using Pscf::Cpc::WFields< D >::Base = Cp::WFields< D, CField<D>, FieldIo<D> >

Alias for base class.

Definition at line 38 of file cpc/field/WFields.h.

Member Function Documentation

◆ setFieldIo()

template<int D>
void Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::setFieldIo ( FieldIo< D > const & fieldIo)

Create association with FIT (store pointer).

Parameters
fieldIoassociated FIT object

◆ allocate()

template<int D>
void Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::allocate ( int nMonomer,
IntVec< D > const & dimensions )

Allocate memory for fields.

This function may only be called once.

Parameters
nMonomernumber of monomer types
dimensionsdimensions of spatial mesh

◆ setFields()

template<int D>
void Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::setFields ( DArray< CField< D > > const & fields)

Set values for all fields.

On return, hasData is true.

Parameters
fieldsarray of new fields

◆ clear()

template<int D>
void Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::clear ( )

Clear data stored in this object without deallocating.

◆ fields()

template<int D>
DArray< CField< D > > const & Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::fields ( ) const

Get the array of all fields.

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

◆ field()

template<int D>
CField< D > const & Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::field ( int monomerId) const

Get the field for one monomer type.

Parameters
monomerIdinteger monomer type index (0,..,nMonomer-1)

◆ isAllocated()

template<int D>
bool Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::isAllocated ( ) const

Has memory been allocated for fields ?

◆ hasData()

template<int D>
bool Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::hasData ( ) const

Has field data been set since it was last cleared?

This flag is set true in the setFields and readFields functions, and set false in the clear function.

◆ meshDimensions()

template<int D>
IntVec< D > const & Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::meshDimensions ( ) const
protected

Get mesh dimensions in each direction, set on r-grid allocation.

◆ meshSize()

template<int D>
int Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::meshSize ( ) const
protected

Get mesh size (number of grid points), set on r-grid allocation.

◆ nMonomer()

template<int D>
int Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::nMonomer ( ) const
protected

Get number of monomer types.

◆ fieldIo()

template<int D>
FieldIo< D > const & Pscf::Cp::WFields< D, CField< D >, FieldIo< D > >::fieldIo ( ) const
protected

Get associated FIT field IO object (const reference).


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