JDFTx  1.2.0
FieldData Struct Reference

Base class for ScalarFieldData and ScalarFieldTildeData. More...

#include <ScalarField.h>

Inheritance diagram for FieldData:
ManagedMemory complexScalarFieldData complexScalarFieldTildeData ScalarFieldData ScalarFieldTildeData

Classes

struct  PrivateTag
 Used to prevent direct use of ScalarField constructors, and force the shared_ptr usage. More...
 

Public Types

typedef void DataType
 this base class has no specific data type
 

Public Member Functions

void absorbScale () const
 absorb scale factor into data
 
void zero ()
 initialize to zero
 
void * data (bool shouldAbsorbScale=true)
 get a pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
const void * data (bool shouldAbsorbScale=true) const
 get a const pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
void * dataGpu (bool shouldAbsorbScale=true)
 get a pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
const void * dataGpu (bool shouldAbsorbScale=true) const
 get a const pointer to the actual data (after absorbing the scale factor, unless otherwise specified)
 
DECLARE_DATA_PREF_ACCESS bool isOnGpu () const
 Check where the data is (for #ifdef simplicity exposed even when no GPU_ENABLED)
 
 FieldData (const GridInfo &gInfo, string category, int nElem, int nDoublesPerElem=1, bool onGpu=false)
 
void copyData (const FieldData &other)
 copy data and scale (used by clone())
 
void send (int dest, int tag=0) const
 send to another process
 
void recv (int src, int tag=0)
 receive from another process
 
void bcast (int root=0)
 synchronize across processes (using value on specified root process)
 
void allReduce (MPIUtil::ReduceOp op, bool safeMode=false)
 apply all-to-all reduction
 

Public Attributes

int nElem
 number of elements = #gInfo.nr
 
double scale
 overall scale factor of the data array
 
const GridInfogInfo
 simulation grid info
 

Detailed Description


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