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

A container of w fields. More...

#include <CFields.h>

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

Public Types

using Base = Cp::CFields< 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.
DArray< CField< D > > & fields ()
 Get the array of all fields (non-const reference).
DArray< CField< D > > const & fields () const
 Get the array of all fields (const reference).
CField< D > & field (int monomerId)
 Get the field for one monomer type (non-const reference).
CField< D > const & field (int monomerId) const
 Get the field for one monomer type (const reference).
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.
bool isAllocated () const
 Has memory been allocated for fields ?
bool hasData () const
 Does this container have up-to-date field data ?
Public Member Functions inherited from Pscf::Cp::CFields< D, CField< D >, FieldIo< D > >
 CFields ()
 Constructor.
 ~CFields ()
 Destructor.
void setFieldIo (FieldIo< D > const &fieldIo)
 Create association with FIT (store pointer).
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 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 > > & fields ()
 Get the array of all fields (non-const reference).
DArray< CField< D > > const & fields () const
 Get the array of all fields (const reference).
CField< D > & field (int monomerId)
 Get the field for one monomer type (non-const reference).
CField< D > const & field (int monomerId) const
 Get the field for one monomer type (const reference).
bool isAllocated () const
 Has memory been allocated for fields ?
bool hasData () const
 Does this container have up-to-date field data ?
void setHasData (bool hasData)
 Set the hasData boolean flag.

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::CFields< 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::CFields< D >

A container of w fields.

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

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

Member Typedef Documentation

◆ Base

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

Alias for base class.

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

Member Function Documentation

◆ setFieldIo()

template<int D>
void Pscf::Cp::CFields< 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::CFields< 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

◆ fields() [1/2]

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

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

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

◆ fields() [2/2]

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

Get the array of all fields (const reference).

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

◆ field() [1/2]

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

Get the field for one monomer type (non-const reference).

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

◆ field() [2/2]

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

Get the field for one monomer type (const reference).

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

◆ writeFields() [1/2]

template<int D>
void Pscf::Cp::CFields< D, CField< D >, FieldIo< D > >::writeFields ( std::ostream & out) const

Write fields to an output stream.

Parameters
outoutput stream

◆ writeFields() [2/2]

template<int D>
void Pscf::Cp::CFields< D, CField< D >, FieldIo< D > >::writeFields ( std::string const & filename) const

Write fields to a named file.

Parameters
filenamename of output file

◆ isAllocated()

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

Has memory been allocated for fields ?

◆ hasData()

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

Does this container have up-to-date field data ?

◆ meshDimensions()

template<int D>
IntVec< D > const & Pscf::Cp::CFields< 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::CFields< 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::CFields< D, CField< D >, FieldIo< D > >::nMonomer ( ) const
protected

Get number of monomer types.

◆ fieldIo()

template<int D>
FieldIo< D > const & Pscf::Cp::CFields< 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 file: